Kotlin:使用parcelize时的构造函数

问题描述 投票:1回答:1

我正在创建一个小的testapp来学习kotlin方式,但我对Parcelable参数有一些问题。

我创建了一个抽象类:

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

现在我试图用新类扩展这个类,但是我有各种各样的构造问题:

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

它抱怨numbername,我需要添加valvar。但是我已经在我的超级班里面定义了这个属性......

有没有解决的办法?

kotlin constructor parcelable
1个回答
1
投票

要使@Parcelize工作,你需要open up超级属性并覆盖它们在孩子:

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)
© www.soinside.com 2019 - 2024. All rights reserved.