8

我正在尝试在我的应用程序中的多个活动之间传递对象的 ArrayList。是否可以使用 setData() 方法使用 Intent 来执行此操作?

4

6 回答 6

12

如果要发送对象的 ArrayList,那么您的类必须实现ParcelableSerializable接口。

请参阅这些很好的教程以在活动之间发送自定义对象

http://androidideasblog.blogspot.in/2010/02/passing-list-of-objects-between.html

http://www.anddev.org/novice-tutorials-f8/simple-tutorial-passing-arraylist-across-activities-t9996.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);

这里的数据是自定义对象的数组列表。

请参阅ParcelableParcelable 教程以获得更好的理解

于 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 回答