Android Kotlin создает реализацию класса Parcelable дает ошибку в «переопределении» метода writeToParcel

Чтобы использовать Parcelable, я следил за этим выпуском Kotlin 1.1.4: https://blog.jetbrains.com/kotlin/2017/08/kotlin-1-1-4-is-out/

Добавьте эту строку в проект

androidExtensions { experimental = true } 

Затем определите класс:

 @Parcelize class User(val firstName: String, val lastName: String) : Parcelable 

Способы writeToParcel () и createFromParcel () создаются автоматически

 override fun writeToParcel(parcel: Parcel, flags: Int) { ... } 

но все еще есть ошибка в ключе «override» с сообщением

OVERRIDING_WRITE_TO_PARCEL_IS_NOT_ALLOWED: переопределение «writeToParcel» не допускается. Вместо этого используйте компаньон «Parceler»

Можете ли вы показать мне правильный путь?

Изменить: только свойства, определенные в конструкторе по умолчанию, будут добавляться в парцеллу, а другие нет? Я вижу это предупреждение в этом классе.

PROPERTY_WONT_BE_SERIALIZED: свойство не будет сериализовано в «Посылку». Добавьте аннотацию @Transient для удаления предупреждения

Убедитесь, что вы используете версию kotlin 1.1.4

Не нужно переопределять методы writeToParcel / createFromParcel. Если вы ничего не делаете. Студия дает вам ошибку, но вы можете игнорировать эту ошибку; чеки lint еще не обновлены, чтобы понять @Parcelize. Соответствующая проблема YouTrack находится здесь:

https://youtrack.jetbrains.com/issue/KT-19300

Использовать класс create

введите описание изображения здесь

Затем передать его, как

введите описание изображения здесь

Чтобы вернуть его

введите описание изображения здесь

Вы можете просто игнорировать предупреждение, поскольку это всего лишь проверка ворса.
теперь, чтобы избавиться от него, просто используйте @SuppressLint("ParcelCreator")

например:

 @SuppressLint("ParcelCreator") @Parcelize class User(val firstName: String, val lastName: String) : Parcelable