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:
- Android, ¿Cómo usar el método readTypedList correctamente en una clase Parcelable?
- Parcelar objetos en android para transferir de una actividad a otra
- Anidado Parcelling: RuntimeException - Unmarshalling tipo desconocido código 3211319 en el desplazamiento 440
- com.android.support:appcompat-v7 y versión de diseño 23.2.0 error de paquete de bloqueo
- Android: causas unparceling fuera de la excepción de memoria. ¿Cómo inspeccionar objetos?
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); }
- ¿Cómo puedo recuperar de un paquete una secuencia de caracteres que se guardó utilizando TextUtils.writeToParcel (...)?
- Cómo pasar ArrayList de objetos de una a otra actividad utilizando Intent en android?
- Parcelable y herencia
- ¿Está utilizando Serializable en Android mal?
- Android ArrayList <MyObject> pasar como parcelable
- Arraylist en objeto parcelable
- Extraer el texto de la notificación de parcelable, contentView o contentIntent
- Paso de arraylist de objetos entre actividades
@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); }