我正在使用 kotlin android 扩展来自动生成我的包裹件,但给定以下代码,我得到了'Parcelable' should be a class
.
代码:
sealed class Action : Parcelable
@Parcelize
object Run : Action()
@Parcelize
data class Ask(
val question: String
) : Action()
我的理解是,不可能以我的方式在object
中使用@Parcelize
(一旦它在 Ask 类上工作(。
我想在扩展sealed class
的对象中使用Parcelable
注释,所以我不知道该怎么做,也不写下面的样板。
object Run : Action() {
override fun writeToParcel(p0: Parcel?, p1: Int) {}
override fun describeContents() = 0
@JvmField
val CREATOR = object : Parcelable.Creator<Run> {
override fun createFromParcel(parcel: Parcel) = Run
override fun newArray(size: Int) = arrayOfNulls<Run?>(size)
}
}
您需要确保 Kotlin 是最新的。
您可以在此处遵循示例。