【发布时间】:2020-12-11 05:26:39
【问题描述】:
我正在尝试使用 @Parcelize 忽略 kotlin 中的 getter 和 setter。但是有点困惑,在这里。
class College : Parcelable {
var studentFound = true
set(value) {
field = value
studentFoundEvents.onNext(value)
}
val studentFoundEvents = PublishSubject.create<Boolean>()
var sNumber: String? = null
var sLevel: String? = null
var course: Course? = null
set(value) {
field = value
cName = null
cId = null
cProf = null
}
}
我有各自的 constructor(source: Parcel) {}, override fun writeToParcel(dest: Parcel?, flags: Int) {} 和 override有趣的 describeContents(): Int = hashCode().
我想将整个 Parcelable 转换为 @Parcelize。 这是我尝试过的,但没有锻炼。
@Parcelize
data class College(
var studentFound = true,
val studentFoundEvents = PublishSubject.create<Boolean>(), // does not work here
var sNumber: String? = null,
var sLevel: String? = null,
var course: Course? = null
) : Parcelable
这里有什么遗漏吗?提前致谢。
【问题讨论】:
标签: android kotlin parcelable