Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Cómo poner una lista en intención

Tengo una Lista en una de mis actividades y necesito pasarla a la siguiente actividad.

private List<Item> selectedData; 

Traté de poner esto en la intención por:

 intent.putExtra("selectedData", selectedData); 

Pero no está funcionando. ¿Qué se puede hacer?

4 Solutions collect form web for “Cómo poner una lista en intención”

Primero tiene que instanciar la List a un tipo de concreto. List sí es una interfaz.

Si implementa la interfaz Parcelable en su objeto, puede utilizar el método putParcelableArrayListExtra() para agregarlo al Intent .

Como howettl mencionado en un comentario, si usted hace el objeto que usted está guardando en su lista serializeable entonces se hace muy fácil. Entonces usted puede ponerlo en un paquete que usted puede entonces poner en la intención. Aquí hay un ejemplo:

 class ExampleClass implements Serializable { public String toString() { return "I am a class"; } } ... */ Where you wanna create the activity /* ExampleClass e = new ExampleClass(); ArrayList<ExampleClass> l = new ArrayList<>(); l.add(e); Intent i = new Intent(); Bundle b = new Bundle(); b.putSerializeable(l); i.putExtra("LIST", b); startActivity(i); 

Pienso que el artículo del ur debe ser parcelable. Y usted debe utilizar arraylist en lugar de lista. Luego use intention.putParcelableArrayListExtra

Esto es lo que funcionó para mí.

 //first create the list to put objects private ArrayList<ItemCreate> itemsList = new ArrayList<>(); //on the sender activity //add items to list where necessary also make sure the Class model ItemCreate implements Serializable itemsList.add(theInstanceOfItemCreates); Intent goToActivity = new Intent(MainActivity.this, SecondActivity.class); goToActivity.putExtra("ITEMS", itemsList); startActivity(goToActivity); //then on second activity Intent i = getIntent(); receivedItemsList = (ArrayList<ItemCreate>) i.getSerializableExtra("ITEMS"); Log.d("Print Items Count", receivedItemsList.size()+""); for (Received item: receivedItemList) { Log.d("Print Item name: ", item.getName() + ""); } 

Espero que funcione para ti tambien.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.