Android Parcelable – Escriba y lea ArrayList <IA> cuando IA es una interfaz

Tengo una interfaz IA y clase B y C que los implementan. Tanto B como C implementan Parcelable también.

Entonces tengo la parte difícil:

La clase D tiene una ArrayList< IA > . Necesito esto también insertar las clases B y C en el arraylist . Comparten la misma estructura pero la relación "IS-A" no se aplica.

Necesito pasar de una actividad a otra como paquete.

He intentado escribir (ArrayList<IA>) in.readSerializable pero tengo una IOException . Sé que si IA no era una interfaz el problema era fácil, pero no puedo encontrar una solución fácil para esto.

¿Algunas ideas?

 @SuppressWarnings("unchecked") public D (Parcel in) { list = new ArrayList<IA>(); (...) list = (ArrayList<IA>) in.readSerializable } @SuppressWarnings("rawtypes") public static final Parcelable.Creator CREATOR = new Parcelable.Creator() { public D createFromParcel(Parcel in) { return new D(in); } public D[] newArray(int size) { return new D[size]; } }; public int describeContents() { return 0; } public void writeToParcel(Parcel dest, int flags) { (...) dest.writeList(list); } 

  @SuppressWarnings("unchecked") public D (Parcel in) { list = new ArrayList<IA>(); (...) //ERROR -> list = (ArrayList<IA>) in.readSerializable list = in.readArrayList(IA.class.getClassLoader()); } @SuppressWarnings("rawtypes") public static final Parcelable.Creator CREATOR = new Parcelable.Creator() { public D createFromParcel(Parcel in) { return new D(in); } public D[] newArray(int size) { return new D[size]; } }; public int describeContents() { return 0; } public void writeToParcel(Parcel dest, int flags) { (...) dest.writeList(list); } 
  • Problema de desacoplamiento de parcelables
  • ¿Cómo maneja la superficie la recolección de basura después de ser parcelada en Android?
  • Arraylist en objeto parcelable
  • Extraer el texto de la notificación de parcelable, contentView o contentIntent
  • Android: ¿Cómo pasar el objeto Parcelable a la intención y el uso getParcelable método de paquete?
  • NullPointerException intentando leer Parcel String
  • Pasar ArrayList <CustomObject> entre actividades
  • Lista de objeto personalizado y Parcelable dar NullPointerException
  • GetParcelableArrayList devuelve null
  • Escribir una excepción al paquete en la aplicación firmada
  • Hacer ArrayList de objetos personalizados parcelable
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.