在我的应用程序的活动中,我有一个意图来开始一个新的活动,并且我想传递一个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;
  }


}

我必须如何更改以设置“可打包”?

最佳答案

首先确保MyClass类实现了Parcelable接口,然后使用此代码在其他Activity中获取ArrayList:

在您的第一个活动中,请执行以下操作:

ArrayList<MyClass> myClassList= new ArrayList<MyClass>();
Intent intent = new Intent(<YOUR ACTIVITY CONTEX>, <NEXT ACTIVITY>);
intent.putExtra("myClassList", myClassList);
startActivity(intent);


在您的下一个活动中,执行以下操作:

ArrayList<MyClass> list = (ArrayList<MyClass>)getIntent().getExtras()getSerializable("myClassList");

关于android - 使用getIntent()。getExtras()获得ArrayList <MyClass>,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26779571/

10-10 01:01