Property不会序列化到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

我希望我的变量不是来自构造函数的,它是我包裹的一部分。 然而,我面临这样一个警告:“Propertly不会被序列化为一个包裹”,这告诉我我目前不能这样做

我在实验v.1.2.41中使用Kotlin

我该怎么办

@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{
...
}