Как использовать @Parcelize в Kotlin 1.1.60?

Kotlin 1.1.60 недавно вышел с Пакетная поддержка.

С помощью этой новой функции я создал свои данные как:

@Parcelize 
data class Question {
   val id: String,
   val title: String,
   val detail: String
} : Parcelable

Но это вызывает ошибку Этот класс реализует Parcelable, но не предоставляет поле CREATOR.

Похоже, мне все еще нужно написать утомительный код для реализации данных Parcel, если да, то в чем преимущество использования @Parcelize?


person KuanYu Chu    schedule 17.11.2017    source источник


Ответы (1)


Я бы сказал, что эта функция все еще экспериментальная. Вы описываете известную ошибку: https://youtrack.jetbrains.com/issue/KT-19300

Но это не должно препятствовать компиляции кода должным образом (попробуйте проигнорировать предупреждение и посмотрите, работает ли ваш код должным образом).

person Ekeko    schedule 17.11.2017
comment
Я попробовал getParcelableExtra("question") и запустил приложение, оно работает нормально. Однако это вызвало ошибку: Класс не найден при демаршаллинге: ... - person KuanYu Chu; 17.11.2017