0

我的意图是从网络服务中搜索数据。我正在尝试将这些数据从这个意图传递到另一个屏幕(意图)

搜索意图

public void setXXX(ArrayList<XXX> xxxData) {
    this.xxxs= xxxData;
    if(xxxData.size() > 0)
    {
        Intent intent = new Intent(this, otherActivity.class);

        startActivity(intent);
    }else{
        alert (getResources().getString(R.string.no_result));
    }
}

接收者意图

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

            this.xxxs = (...);      

    setContentView(R.layout.activity_xxxlist);
    this.xxxList = (ListView) findViewById(R.id.listview);

    this.listView.setAdapter(new xxxDataAdapter(this,this.layoutInflator, this.xxxs));
}

如何从第二个意图中使用我的 arrayList<> ?

4

1 回答 1

2

为了能够通过 发送对象,您必须为该对象Intents实现接口。Parcelable它使用 aCREATOR来编写该对象的字符串和原始类型。

这是它的开发者页面

完成后,您可以像这样在 ArrayList 中发送该对象:

intent.putParcelableArrayListExtra(ArrayList<Parcelable> ... );

看到这个方法:putParcelableArrayListExtra

在接收活动中,您可以调用:

getIntent().getParcelableArrayListExtra( String key );

正如此处 API 中所定义的那样

于 2013-03-04T18:18:29.517 回答