LinkedList puesto en Intent extra se redistribuye a ArrayList cuando se recupera en la siguiente actividad
Un comportamiento que estoy observando al pasar datos serializables como intento adicional es bastante extraño, y solo quería aclarar si hay algo que no me esté perdiendo.
Así que lo que estaba tratando de hacer es que enActivtyA
Yo puse unLinkedList
instancia en elintent
He creado para comenzar la siguiente actividad -ActivityB
.
LinkedList<Item> items = (some operation);
Intent intent = new Intent(this, ActivityB.class);
intent.putExtra(AppConstants.KEY_ITEMS, items);
En elonCreate
deActivityB
, Traté de recuperar elLinkedList
extra como sigue -
LinkedList<Item> items = (LinkedList<Item>) getIntent()
.getSerializableExtra(AppConstants.KEY_ITEMS);
Al ejecutar esto, repetidamente tengo unClassCastException
enActivityB
, en la línea de arriba. Básicamente, la excepción dijo que estaba recibiendo unArrayList
. Una vez que cambié el código de arriba para recibir unArrayList
en cambio, todo funcionó bien.
Ahora no puedo deducir de la documentación existente si este es el comportamiento esperado en Android cuando se pasan las implementaciones de listas serializables. O tal vez, hay algo fundamentalmente mal con lo que estoy haciendo.
Gracias.