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 
Intereting Posts
Rx Java Retrofit с плоскими картами работает только один раз Объем модификатора внутренней видимости в Котлине Доступ к функциям расширения Kotlin из Java Какой способ лучше, если я надеюсь использовать синтаксис, как статическая функция в Котлин? Как я могу представить отношение многих к многим с Android Room? Изображение не отображается в Recyclerview с помощью Glide FirebaseRecyclerAdapter – populateViewHolder не получает доступ к данным Как явно вызвать блок init объекта? Как использовать kotlin для определения класса приложения Android? Ярлык IntelliJ для конфигурации запуска kotlin: как я могу вызвать функцию из выражения объекта Ячейки RecyclerView деформируются при открытии клавиатуры Проверка подключения не работает в Android Oreo Kotlin RxJava: Отменить подписку async, наблюдаемую из другого асинхронного производства как сохранить правильное вращение растрового изображения