Android 从Kotlin中的Parcelable中读取列表列表
我想基本上阅读Kotlin构造函数中的包列表,我的类的结构如下:Android 从Kotlin中的Parcelable中读取列表列表,android,kotlin,constructor,parcelable,Android,Kotlin,Constructor,Parcelable,我想基本上阅读Kotlin构造函数中的包列表,我的类的结构如下: data class Sports( var media: List<List<MediaObject>>?, var likes: Int) : Parcelable { constructor(parcel: Parcel) : this( TODO("media"), parcel.readInt(), ) override fun writeToPa
data class Sports(
var media: List<List<MediaObject>>?,
var likes: Int) : Parcelable {
constructor(parcel: Parcel) : this(
TODO("media"),
parcel.readInt(),
)
override fun writeToParcel(parcel: Parcel, flags: Int) {
if (media == null || media!!.isEmpty()) {
parcel.writeInt(0)
} else {
parcel.writeInt(media!!.size)
for (mediaObjects in media!!) {
parcel.writeTypedList(mediaObjects)
}
}
parcel.writeInt(likes)
}
override fun describeContents(): Int {
return 0
}
companion object CREATOR : Parcelable.Creator<Sports> {
override fun createFromParcel(parcel: Parcel): Sports {
return Sports(parcel)
}
override fun newArray(size: Int): Array<Sports?> {
return arrayOfNulls(size)
}
}}
数据类运动(
var媒体:列表?,
变量:Int):可包裹{
构造函数(地块:地块):此(
TODO(“媒体”),
parcel.readInt(),
)
覆盖地块(地块:地块,标志:Int){
if(media==null | | media!!.isEmpty()){
包裹写入(0)
}否则{
包裹.writeInt(介质!!.size)
用于(媒体中的媒体对象!!){
parcel.writeTypedList(mediaObjects)
}
}
包裹书写(喜欢)
}
覆盖有趣的描述内容():Int{
返回0
}
同伴对象创建者:Parcelable.CREATOR{
覆盖乐趣createFromParcel(地块:地块):运动{
返回运动(包裹)
}
覆盖新数组(大小:Int):数组{
返回阵列fnulls(大小)
}
}}
我有一个列表
,我想从包裹中读取它,我们如何才能做到这一点,我想我们可以有一些内联函数,但不确定我们将如何做到这一点
如果Kotlin的
列表
类型对象,Kotlin会自动添加TODO。在Kotlin 1.1.4中添加了带有@Parcelize
注释的Parcelable支持
这是更方便的处理方法
请查看:
不错,我不知道这个注释。如果我不想更新Kotlin的版本怎么办?@keshavAggarwal这是从1.1.4开始提供的,Kotlin已经在1.3上了。你还在用Windows 98吗?哈哈,没想到,基本上我想通过实现可包裹界面来实现这一点。