Property不会序列化到Kotlin中的包中
我希望我的变量不是来自构造函数的,它是我包裹的一部分。 然而,我面临这样一个警告:“Propertly不会被序列化为一个包裹”,这告诉我我目前不能这样做 我在实验v.1.2.41中使用Kotlin 我该怎么办Property不会序列化到Kotlin中的包中,kotlin,parcelable,kotlin-android-extensions,Kotlin,Parcelable,Kotlin Android Extensions,我希望我的变量不是来自构造函数的,它是我包裹的一部分。 然而,我面临这样一个警告:“Propertly不会被序列化为一个包裹”,这告诉我我目前不能这样做 我在实验v.1.2.41中使用Kotlin 我该怎么办 @Parcelize data class MyClass(private val myList: List<Stuff>) : Parcelable { val average: List<DayStat> by lazy { calcu
@Parcelize
data class MyClass(private val myList: List<Stuff>) : Parcelable {
val average: List<DayStat> by lazy {
calculateAverage(myList)
}
@Parcelize
数据类MyClass(私有值myList:List):可包裹{
val平均值:按延迟列出{
计算范围(myList)
}
您想将其作为包裹的一部分(只需标记@Transient
)还是将其写入包裹
在第二种情况下,解释了为什么这是一个问题(搜索“类主体中声明了初始值设定项的属性”),而懒惰只会让含义变得不那么清楚
如果你可以不懒惰地生活,你可以做到:
@Parcelize
data class MyClass (private val myList: List<Stuff>, val average: List<DayStat> = calculateAverage(myList)) : Parcelable {
...
}
@Parcelize
数据类MyClass(私有val myList:List,val average:List=calculateAverage(myList)):Parcelable{
...
}