在我的应用程序的 Activity 中,我有一个启动新 Activity 的 Intent ,并且我想传递一个 ArrayList,即一个 ArrayList,其中每个项目都是自己的类的实例...我该如何制作?
我一直在看到可能的 getExtras() ,例如 getStringArrayList() 或 getParcelableArrayList() ,但它不起作用,我还没有找到任何有效的类型。
有人可以帮助我吗?谢谢。
这是我的课:
public class ItemFile {
protected long id;
protected String nombre;
protected String rutaImagen;
protected boolean checked;
public ItemFile(long id, String nombre, String rutaImagen, boolean check) {
this.id = id;
this.nombre = nombre;
this.rutaImagen = rutaImagen;
this.checked = check;
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getRutaImagen() {
return rutaImagen;
}
public void setRutaImagen(String rutaImagen) {
this.rutaImagen = rutaImagen;
}
public boolean isChecked() {
return checked;
}
public void setChecked(boolean checked){
this.checked = checked;
}
}
我必须如何更改它才能设置 Parcelable?
最佳答案
首先确保 MyClass 类实现 Parcelable 接口(interface),然后使用此代码在其他 Activity 中获取 ArrayList :
在您的第一个 Activity 中执行如下操作:
ArrayList<MyClass> myClassList= new ArrayList<MyClass>();
Intent intent = new Intent(<YOUR ACTIVITY CONTEX>, <NEXT ACTIVITY>);
intent.putExtra("myClassList", myClassList);
startActivity(intent);
在您的下一个 Activity 中执行以下操作:
ArrayList<MyClass> list = (ArrayList<MyClass>)getIntent().getExtras()getSerializable("myClassList");
关于android - 使用 getIntent().getExtras() 获取 ArrayList<MyClass>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26779571/