Котлин решает проблему с gson

Я использую @parcelize для gson

Вот мой класс

@Parcelize data class CommunityModel(@SerializedName("post") val post: PostModel, @SerializedName("is_liked") val isLiked: Boolean, @SerializedName("post_like") val postLike: QuestionModel, @SerializedName("polling_options") val pollingOptions: List<PollingModel>, @SerializedName("post_polled") val postPolled: Boolean) : Parcelable 

Я получил ошибку Unable to invoke no-args constructor for class. Register an InstanceCreator with Gson for this type may fix this problem. Unable to invoke no-args constructor for class. Register an InstanceCreator with Gson for this type may fix this problem. ,

Но эта ошибка представлена ​​только в старых версиях Android (ниже 5.0)

Я попытался реализовать стандартный конструктор:

 constructor: this(PostModel(), true, QuestionModel(), emptyList(), true) 

Но он дал мне java.lang.VerifyError вместо этого

Я использую retrofit2 с rxjava2 и gson converter версии 2.3

Моя версия kotlin1.1.51

Это известная ошибка? Или я сделал что-то не так?

Плагин компилятора No-arg

Плагин компилятора no-arg генерирует дополнительный конструктор с нулевым аргументом для классов с определенной аннотацией.

Сгенерированный конструктор является синтетическим, поэтому его нельзя напрямую вызывать из Java или Kotlin, но его можно вызвать с помощью отражения.

Это позволяет Java Persistence API (JPA) создавать экземпляр класса данных, хотя он не имеет конструктора нулевого параметра с точки зрения Котлина или Java (см. Описание плагина kotlin-jpa ниже).

Использование в Gradle

Использование довольно похоже на все-открытое.

Добавьте плагин и укажите список аннотаций, которые должны привести к созданию конструктора no-arg для аннотированных классов.

 buildscript { dependencies { classpath "org.jetbrains.kotlin:kotlin-noarg:$kotlin_version" } } apply plugin: "kotlin-noarg" 

Источник https://kotlinlang.org/docs/reference/compiler-plugins.html

Intereting Posts
Kotlin: Интерфейс с неизменяемым свойством, реализуемым классом с изменчивым Котлин, обращающийся к константе во внутреннем классе с Java Какая из сопрограмм (goroutines и kotlin сопрограммы) быстрее? Использование возврата внутри лямбда? Android: запуск анимации при загрузке фрагмента Android Room – простой запрос выбора – не удается получить доступ к базе данных в основной теме Jooq-транзакции: соединения не выводятся в пул, если исключение выбрано в транзакции Как обрабатывать пустой параметр в Котлине? Как использовать Kotlin с Proguard Как вводить нестатические, по требованию NativeModules в React Native Android? неразрешенная ссылка на класс, методы Блокировка serialVersionUID в Котлине Параметр типа класса Kotlin: несоответствие не обнаружено Как я могу отобразить его значение в коде .parseList {DayForecast (HashMap (it))} в Android Studio 3.0? Больше удовольствия с делегатами Котлина