我基本上想从 Kotlin 构造函数中的 Parcel 读取 List of List,我的类结构如下:
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>>
我想从包裹中读取它,我们怎样才能实现这一点,我想我们可以有一些内联函数,但不确定我们将如何做到这一点?
如果 List<List<>>
,Kotlin 会自动添加 TODO类型对象。
最佳答案
在 Kotlin 1.1.4 中添加了带有 @Parcelize
注解的 Parcelable 支持
这是更方便的处理方式
检查一下:
https://kotlinlang.org/docs/tutorials/android-plugin.html#parcelable
关于android - 在 Kotlin 构造函数 android 中从 Parcelable 读取 List 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54647897/