我正在使用kotlin android扩展程序自动生成我的Parcelables,但是鉴于以下代码,我得到了'Parcelable' should be a class
。
代码:
sealed class Action : Parcelable
@Parcelize
object Run : Action()
@Parcelize
data class Ask(
val question: String
) : Action()
我的理解是,无法像我一样在@Parcelize
中使用object
(一旦在Ask类上工作)。
我想在扩展Parcelable
的对象中使用sealed class
注释,所以我不知道该怎么做,也不编写以下样板。
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)
}
}