Gui*_*gis 8 parcelable kotlin kotlin-android-extensions
我希望我的变量不是来自我的构造函数,而是我的Parcelable的一部分.但是,我面对这个警告"有些不会序列化成一个包裹",这告诉我目前我不能这样做.
我在实验 v.1.2.41中使用Kotlin .
我能怎么做 ?
@Parcelize
data class MyClass(private val myList: List<Stuff>) : Parcelable {
val average: List<DayStat> by lazy {
calculateAverage(myList)
}
Run Code Online (Sandbox Code Playgroud)
Ale*_*nov 10
你想让它成为Parcelable(只是标记@Transient)的一部分或将其写入包裹吗?
在第二种情况下,设计文档解释了为什么这是一个问题(搜索"具有在类体中声明的初始化器的属性")并且懒惰只会使含义不太清楚.
如果你可以没有懒惰,你可以这样做:
@Parcelize
data class MyClass (private val myList: List<Stuff>, val average: List<DayStat> = calculateAverage(myList)) : Parcelable {
...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1745 次 |
| 最近记录: |