我想通过Bundle将数据类(包含int列表作为属性)传递给其他活动,因此我需要将Parcelable实现添加到我的数据类中 . 关于如何包裹这个房产的任何想法?
data class Test(val id: Long, val files: List<Int>?) : Parcelable {
constructor(parcel: Parcel) : this(
parcel.readLong(),
TODO("files"))
override fun writeToParcel(parcel: Parcel, flags: Int) {
parcel.writeLong(id)
}
override fun describeContents(): Int {
return 0
}
companion object CREATOR : Parcelable.Creator<Test> {
override fun createFromParcel(parcel: Parcel): Test {
return Test(parcel)
}
override fun newArray(size: Int): Array<Test?> {
return arrayOfNulls(size)
}
}
1 回答
您可以将整数列表写为
int[]
:确保在回读时使用相同的数据结构:
您可以通过跳过数组表示来使用扩展函数来提高效率: