我的意图是从网络服务中搜索数据。 我正试图将这些数据从这个意图传递到另一个屏幕(意图)
搜索意图
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&lt;&gt;从第二个意图?
答案 0 :(得分:2)
为了能够通过Intents
发送对象,您必须为该对象实现Parcelable
接口。它使用CREATOR
来编写该对象的字符串和原始类型。
Here is the developer page for it
完成后,您可以在ArrayList中发送该对象,如下所示:
intent.putParcelableArrayListExtra(ArrayList<Parcelable> ... );
请参阅此方法:putParcelableArrayListExtra
在接收活动中,您可以致电:
getIntent().getParcelableArrayListExtra( String key );