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) { ... } 

但是在消息的“覆盖”关键字中仍然存在错误

OVERRIDING_WRITE_TO_PARCEL_IS_NOT_ALLOWED:不允许覆盖“writeToParcel”。 改为使用“Parceler”随播对象

你能告诉我正确的方法吗?

编辑:只有默认构造函数中定义的属性将添加到包,其他不是? 我在这堂课看到这个警告。

PROPERTY_WONT_BE_SERIALIZED:属性不会被序列化为“包裹”。 添加“@Transient”注释以删除警告

确保你使用的是kotlin 1.1.4版本

无需重写writeToParcel / createFromParcel方法。 除非你做任何特定的事情。工作室给你错误,但你可以忽略这个错误; 皮棉检查尚未更新了解@Parcelize。 相应的YouTrack问题在这里:

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

使用创建类

在这里输入图像描述

然后通过它像

在这里输入图像描述

把它弄回来

在这里输入图像描述

你可以放心地忽略警告,因为它只是检查。
现在摆脱它只是使用@SuppressLint("ParcelCreator")

例如:

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