我已经实现了一个Parcelable类:
我遇到了一个空指针异常。我已经调试过了,当我执行getParcelableArrayList(“eventos”)时,我得到了NULL,也就是说,我的arraylist eventos为空,因此我没有收到任何信息。
希望能得到帮助。
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];
}
};
在我的活动中,我尝试将一个ArrayList传递给另一个活动: 我重写了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");
我遇到了一个空指针异常。我已经调试过了,当我执行getParcelableArrayList(“eventos”)时,我得到了NULL,也就是说,我的arraylist eventos为空,因此我没有收到任何信息。
希望能得到帮助。
informacion.putParcelableArrayList("eventos", ArrayList<Eventos> eventos);
甚至无法编译通过,所以我不认为这是您正在使用的实际代码。 - njzk2