我正在尝试在我的应用程序中的多个活动之间传递对象的 ArrayList。是否可以使用 setData() 方法使用 Intent 来执行此操作?
问问题
20294 次
6 回答
12
如果要发送对象的 ArrayList,那么您的类必须实现Parcelable或Serializable接口。
请参阅这些很好的教程以在活动之间发送自定义对象
http://androidideasblog.blogspot.in/2010/02/passing-list-of-objects-between.html
于 2012-12-05T11:20:23.130 回答
6
使用下面的代码在意图中传递数组列表。
Intent mIntent = new Intent(FirstActivity.this, SecondActivity.class);
mIntent.putParcelableArrayListExtra("Data", mArraylist);
startActivity(mIntent);
使用下面的代码从 Intent 获取数组列表。
Bundle bdl = getIntent().getExtras();
mArraylist1 = bdl.getParcelableArrayList("Data");
于 2012-12-05T11:26:31.983 回答
3
首先,您需要在 Object 类中扩展 parcelable 类。然后你可以通过意图传递它intent.putParcelableArrayListExtra("PASSING_DATA", data);
这里的数据是自定义对象的数组列表。
请参阅Parcelable和Parcelable 教程以获得更好的理解
于 2012-12-05T11:20:33.090 回答
0
是的,有可能......您需要通过您的对象类实现 Serializable类。
于 2012-12-05T11:17:41.150 回答
0
如果对象实现 Parcelable,您可以使用 putParcelableArrayList 方法,如下所示:
Bundle data = new Bundle();
data.putParcelableArrayList("myArrayList", myList);
Intent i = new Intent();
i.putExtra("data", data);
希望有帮助。
于 2012-12-05T11:19:41.480 回答
0
您可以在定义它的位置使 arraylist 成为静态,并且只将位置传递给下一个活动
于 2017-10-06T20:10:34.527 回答