Kotlin - 如何分割对象变量

yop*_*e97 4 android kotlin

我有一个错误:

这不是'Parcelize'直接支持的,如果您希望使用'writeValue'对其进行序列化,请使用@RawValue注释参数类型

当我实施@Parcelize

@Parcelize data class PersonUiModel (
    var personNo: String? = null,
    var personItemNo: String? = null,
    var packageId: String? = null,
    var userInfo: UserDetailUiModel? = null,
    var personInfo: PersonDetailUiModel? = null
) : Parcelable, Cloneable {

  override public fun clone(): PersonUiModel {
    return PersonUiModel(personNo= this.personNo, personItemNo = this.personItemNo,packageId = this.packageId, userInfo = this.userInfo, personInfo = this.personInfo)
  }
}
Run Code Online (Sandbox Code Playgroud)

之前谢谢..

Ale*_*nov 6

Make UserDetailUiModeland PersonDetailUiModel Parcelableas well(使用@Parcelize或不使用)。

或者按照消息的建议制作它们Serializable并使用userInfo: @RawValue UserDetailUiModel,但这是一个更糟糕的选择。


小智 1

  1. 从 Preferences->plugins 安装 Kotlin 的 Parcelable 插件
  2. 从 Parcelable 扩展你的类
  3. 右键单击类的名称并选择:Generate -> Parcelable

它将生成所有需要的方法。