android android-activity arraylist parcelable

android - Pasar ArrayList<CustomObject> Between Activities



android-activity parcelable (2)

Este código

Bundle informacion= new Bundle(); informacion.putParcelableArrayList("eventos", ArrayList<Eventos> eventos); intent.putExtras(informacion);

Debiera ser

Bundle informacion = new Bundle(); ArrayList<Eventos> mas = new ArrayList<Eventos>(); informacion.putSerializable("eventos", mas); intent.putExtras(informacion);

y Asegúrate de que tu estructura de Eventos sea como un objeto serializable

private class Eventos implements Serializable { }

Valores de lectura

ArrayList<Eventos> madd=getIntent().getSerializableExtra(key);

he implementado una clase Parcelable:

public class Evento implements Parcelable { private int; private String ; private String imagen; //more atts //Constructors, setters and getters public Evento(Parcel in) { this.id = in.readInt(); this.titulo = in.readString(); this.imagen=in.readString(); public void writeToParcel(Parcel dest, int flags) { dest.writeInt(id); dest.writeString(titulo); dest.writeString(imagen); } public static final Parcelable.Creator<Evento> CREATOR = new Parcelable.Creator<Evento>() { @Override public Evento createFromParcel(Parcel in) { return new Evento(in); } @Override public Evento[] newArray(int size) { return new Evento[size]; } };

En mi actividad, intento pasar una lista de arreglos a otra actividad: me sobreescribo en ÍtemClick y paso la información de esta manera:

public void onItemClick(AdapterView<?> a, View v, int position, long id) { //create new activitie ArrayList<Eventos> eventos = new ArrayList<Eventos>(); Intent intent = new Intent(QueActivity.this, ProductosCategorias.class); //Create information Bundle informacion= new Bundle(); informacion.putParcelableArrayList("eventos", eventos); intent.putExtras(informacion);

y recibirlo en la otra actividad:

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_productos_categorias); lv = (ListView) findViewById(R.id.listaCategoriaElegida); Bundle informacionRecibida = getIntent().getExtras(); ArrayList<Evento> eventos =new ArrayList<Evento>(); eventos= informacionRecibida.getParcelableArrayList("eventos");

Obtengo una excepción de puntero nulo. Lo eliminé y obtengo NULL cuando ejecuto getParcelableArrayList ("eventos"), es decir, mis eventos de arraylist son nulos, por lo tanto, no recibo información.

Cualquier ayuda será genial