Свойства Котлина уже поставляются с геттерами и сеттерами.Каждый раз, когда вы говорите time.hour = 5
или val currentTime = time.hour
- , вызывается соответствующий установщик или получатель .
Проблема здесь не в конструкторе, а в CREATOR
, который требуется для посылки.
Полный пример будет выглядеть так:
class Time(var hour: Int, var minute: Int) : Comparable<Time>, Parcelable {
override fun writeToParcel(dest: Parcel?, flags: Int) {
dest!!.writeInt(hour)
dest.writeInt(minute)
}
override fun describeContents(): Int = 0
override fun compareTo(other: Time): Int {
// your comparsion logic
}
companion object CREATOR : Parcelable.Creator<Time> {
override fun createFromParcel(parcel: Parcel): Time {
return Time(parcel.readInt(), parcel.readInt())
}
override fun newArray(size: Int): Array<Time?> {
return arrayOfNulls(size)
}
}
}