我有一个具有属性imageUrl
的基类ImageBean现在,子类HeaderBean扩展了ImageBean的更多属性asin,sku,fatherAsin
我需要把这两节课打包。我该怎么办?
最重要的代码是readImage(parcel) super.writeToParcel(parcel,flags)
open class ImageBean() : Parcelable {
var imageUrl:String = ""
constructor(parcel: Parcel) : this() {
readImage(parcel)
}
fun readImage(parcel: Parcel){
imageUrl = parcel.readString()?:""
}
override fun writeToParcel(parcel: Parcel, flags: Int) {
parcel.writeString(imageUrl)
}
override fun describeContents(): Int {
return 0
}
companion object CREATOR : Parcelable.Creator<ImageBean> {
override fun createFromParcel(parcel: Parcel): ImageBean {
return ImageBean(parcel)
}
override fun newArray(size: Int): Array<ImageBean?> {
return arrayOfNulls(size)
}
}
}
class HeaderBean() : ImageBean() {
var asin:String = ""
var sku:String = ""
var fatherAsin:String = ""
constructor(parcel: Parcel) : this() {
readImage(parcel)
asin = parcel.readString()?:""
sku = parcel.readString()?:""
fatherAsin = parcel.readString()?:""
}
override fun writeToParcel(parcel: Parcel, flags: Int) {
super.writeToParcel(parcel,flags)
parcel.writeString(asin)
parcel.writeString(sku)
parcel.writeString(fatherAsin)
}
override fun describeContents(): Int {
return 0
}
companion object CREATOR : Parcelable.Creator<HeaderBean> {
override fun createFromParcel(parcel: Parcel): HeaderBean {
return HeaderBean(parcel)
}
override fun newArray(size: Int): Array<HeaderBean?> {
return arrayOfNulls(size)
}
}
}