【发布时间】:2021-12-02 02:02:55
【问题描述】:
我创建了一个包含自定义对象的 ArrayList 和一些其他字符串变量的类。我使用“添加可打包的实现”来使此类可打包。
在自动生成的代码中,我尝试将 readTypedList 用于 TODO 部分,但随后出现如下所示的错误。我使用的自定义对象 Cart 也是 parcelable 的。
这是上图中提到的代码。
class Orders (
var id:String="",
var user_id:String="",
var products: ArrayList<Cart> =arrayListOf(),
var addressId:String="",
val image:String="",
val title:String="",
val subTotal:String="",
val shippingCharge:String="",
val total:String="",
) : Parcelable {
constructor(parcel: Parcel) : this(
parcel.readString().toString(),
parcel.readString().toString(),
TODO("products"),
parcel.readString().toString(),
parcel.readString().toString(),
parcel.readString().toString(),
parcel.readString().toString(),
parcel.readString().toString(),
parcel.readString().toString()
) {
}
override fun writeToParcel(parcel: Parcel, flags: Int) {
parcel.writeString(id)
parcel.writeString(user_id)
parcel.writeString(addressId)
parcel.writeString(image)
parcel.writeString(title)
parcel.writeString(subTotal)
parcel.writeString(shippingCharge)
parcel.writeString(total)
}
override fun describeContents(): Int {
return 0
}
companion object CREATOR : Parcelable.Creator<Orders> {
override fun createFromParcel(parcel: Parcel): Orders {
return Orders(parcel)
}
override fun newArray(size: Int): Array<Orders?> {
return arrayOfNulls(size)
}
}
提前感谢您的帮助。
【问题讨论】:
-
product值在创建Orders对象之前不存在。另外,请发布代码,而不是图片。 -
但是必须有其他方法可以让我的课程可打包。
标签: kotlin arraylist parcelable parcel