使用@Parcelize时编写自定义createFromParcel

时间:2018-11-09 09:57:32

标签: android realm parcelable

我有一个已打包的数据类,并且对Realm也可用。

@Parcelize open class Data(
        @SerialName("id") @Id @PrimaryKey private var id: String,
        @SerialName("title") var title: String,
        ...
) : RealmObject(), Resource, Parcelable {

constructor() : this(
        "",
        "",
        ...
)

我想创建一个CREATOR对象,因为在特定情况下需要它:

companion object {
    const val TYPE = "..."

    @JvmField
    val CREATOR: Parcelable.Creator<Data> = object : Parcelable.Creator<Data> {
        override fun createFromParcel(p: Parcel): Data {
            return Data(p)
        }

        override fun newArray(size: Int): Array<Data?> {
            return arrayOfNulls(size)
        }
    }
}

我已经定义了构造函数,如何简单地在p: Parcel内传递createFromParcel

0 个答案:

没有答案