繁体   English   中英

在Kotlin构造函数android中从Parcelable读取列表列表

[英]Read List of List from Parcelable in Kotlin constructor android

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

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)
    }
}}

我有一个List<List<MediaObject>> ,我想从包裹中读取它,我们如何实现这一目标,我想我们可以有一些内联函数,但不确定如何做到这一点?

如果Kotlin的List<List<>>类型对象,它会自动添加TODO。

在Kotlin 1.1.4中添加了具有@Parcelize批注的@Parcelize支持

这是更方便的处理方式

看看这个:

https://kotlinlang.org/docs/tutorials/android-plugin.html#parcelable

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM