Kotlin: конструктор при использовании parcelize - PullRequest
1 голос
/ 04 апреля 2019

Я создаю небольшой тестап, чтобы изучить способ 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)

Жалуется на number и name, что мне нужно добавить val или var. Но я уже определил свойство внутри моего суперкласса ...

Есть ли способ обойти это?

1 Ответ

1 голос
/ 04 апреля 2019

Чтобы @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)
...