Tengo una clase para padres en Kotlin como esta
open class Parent( var name: String, var dose: JsonElement?, val other: String?) { constructor(name: String, dose: JsonElement?) : this( name = name.toLowerCase(), dose = dose, other = null ) }Y su clase infantil como esta
class Child( val type: String, name: String, dose: JsonElement? ) : Parent(name, dose), Parcelable { constructor(parcel: Parcel) : this( parcel.readString() ?: "", parcel.readString() ?: "", Gson().fromJson(parcel.readString(), JsonElement::class.java)) override fun writeToParcel(parcel: Parcel, flags: Int) { parcel.writeString(type) parcel.writeString(name) parcel.writeString(Gson().toJson(dose)) } override fun describeContents(): Int { return 0 } companion object CREATOR : Parcelable.Creator<Child> { override fun createFromParcel(parcel: Parcel): Child { return Child(parcel) } override fun newArray(size: Int): Array<Child?> { return arrayOfNulls(size) } } } Mi problema aquí es cuando paso el objeto de la clase secundaria como parcelables, solo se propagan las propiedades de la clase secundaria. Todas las propiedades de la clase base, como el name y la dose , son nulas después de que el objeto se deserializa.
Verifiqué de forma cruzada el orden de lectura y escritura y también verifiqué que los valores se escriben correctamente en el momento de la serialización. Avíseme si se necesita más información de mi parte.