【问题标题】:Kotlin: Constructor when using parcelizeKotlin:使用 parcelize 时的构造函数
【发布时间】:2019-04-04 15:18:16
【问题描述】:

我正在创建一个小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。但我已经在我的超类中定义了属性...

有没有办法解决这个问题?

【问题讨论】:

  • 为什么你不想将它们设置为 var 或 val ?

标签: kotlin constructor parcelable


【解决方案1】:

要使@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)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-10
    • 1970-01-01
    • 2021-07-06
    • 2018-04-23
    相关资源
    最近更新 更多