Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/221.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 从Kotlin中的Parcelable中读取列表列表_Android_Kotlin_Constructor_Parcelable - Fatal编程技术网

Android 从Kotlin中的Parcelable中读取列表列表

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

我想基本上阅读Kotlin构造函数中的包列表,我的类的结构如下:

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吗?哈哈,没想到,基本上我想通过实现可包裹界面来实现这一点。