Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

617
Vistas
Parcelable with inheritance in Kotlin- Base class properties not getting parcelized

I have a parent class in Kotlin like this

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
)
}

And its child class like this

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)
    }
}
}

My problem here is when I pass object of child class as parcelable only child class properties are propagated. All base class properties like name and dose are null after object is de-serialized.

I have cross-verified order of reading and writing and also verified that values are being written correctly at the time of serialization. Let me know if more information is needed from my side.

over 4 years ago · Santiago Trujillo
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda