首页 > 解决方案 > Android 发送 ArrayList 对象

问题描述

我很笨拙。

解决我的问题

起源活动

    public void marcas(View view) {
    ArrayList<Localizacion> object = new ArrayList<Localizacion>(localizaciones);
    Intent intent = new Intent(getApplicationContext(), CompraVenta.class);
    Bundle args = new Bundle();
    args.putSerializable("ARRAYLIST", (Serializable) object);
    intent.putExtra("BUNDLE", args);
    startActivityForResult(intent, RESPUESTA_ACTIVIDAD);
}

命运活动

    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_compra_venta);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);

    Intent intent = getIntent();
    Bundle args = intent.getBundleExtra("BUNDLE");
    ArrayList<Localizacion> object = (ArrayList<Localizacion>) args.getSerializable("ARRAYLIST");
    loc = object;
    enlaceInterfaz();
}

在 Localizacion 类中,我正在实现 Parceable。我的错误是想像在 java 类中使用它们一样使用数组,但这不是它的工作方式。

谢谢大家

标签: androidandroid-activityarraylistsend

解决方案


做你的classas Parceable,然后你就可以将该类的对象列表传递给另一个Activity

class Localizacion implements Parceable {

}

现在将数据发送到另一个Activity.

intent.putParcelableArrayListExtra("array",object);

在接收方

loc = getIntent().getParcelableArrayExtra("array");

推荐阅读