android - एआरएलएल<कस्टम ऑब्जेक्ट> एक्टिव्स के बीच पासिंग




android-activity arraylist (2)

यह कोड

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

होना चाहिए

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

और सुनिश्चित करें कि आपके इवेंटोस संरचना एक सीरियलजएबल ऑब्जेक्ट की तरह है

private class Eventos implements Serializable {

}

पढ़ना मूल्य

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

मैंने एक पार्सलेट योग्य वर्ग लागू किया है:

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];
    }
};

मेरी गतिविधि में, मैं किसी अन्य सक्रियता के लिए एक सरणी सूची को पार करने की कोशिश कर रहा हूं: I'me overtwriten onItemClick और मैं इस तरह से जानकारी पारित कर रहा हूँ:

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);

और इसे अन्य गतिविधि में प्राप्त करना:

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");

मैं एक अशक्त सूचक अपवाद प्राप्त कर रहा हूँ मैंने इसे debbuged किया है और मैं नल प्राप्त कर रहा हूँ जब मैं getParcelableArrayList ("eventos") निष्पादित, मेरा मतलब है, मेरी arraylist घटना शून्य है, इसलिए, मुझे कोई जानकारी नहीं मिली है

कोई भी सहायता अच्छी होगी






parcelable