Kotlin:使用 parcelize 时的构造函数

Kotlin: Constructor when using parcelize

我正在创建一个小的测试应用程序来学习 kotlin 方式,但我在 Parcelable 参数方面遇到了一些问题。

我创建了一个摘要class:

abstract class Goal(var number: Int, var name: String) : Parcelable

现在我正在尝试用一个新的 class 来扩展这个 class,但是我有各种各样的构造问题:

@Parcelize
class OperationalGoal(number: Int, name: String, var description: String) : Goal(number, name)

抱怨numbername,我需要添加valvar。但是我已经在我的 super class...

中定义了 属性

有办法解决这个问题吗?

要使 @Parcelize 正常工作,您需要 open 提升父类的属性并在子类中覆盖它们:

abstract class Goal(open var number: Int, open var name: String) : Parcelable

@Parcelize
class OperationalGoal(override var number: Int, override var name: String, var description: String) : Goal(number, name)