【发布时间】:2012-11-23 05:00:12
【问题描述】:
我正在尝试在我的应用程序中的多个活动之间传递对象的 ArrayList。是否可以通过使用 setData() 方法的 Intent 来做到这一点?
【问题讨论】:
标签: android android-intent arraylist
我正在尝试在我的应用程序中的多个活动之间传递对象的 ArrayList。是否可以通过使用 setData() 方法的 Intent 来做到这一点?
【问题讨论】:
标签: android android-intent arraylist
是的,有可能…… 您需要通过您的对象类实现 Serializable 类。
【讨论】:
如果对象实现 Parcelable,您可以像这样使用 putParcelableArrayList 方法:
Bundle data = new Bundle();
data.putParcelableArrayList("myArrayList", myList);
Intent i = new Intent();
i.putExtra("data", data);
希望对您有所帮助。
【讨论】:
如果您想发送对象的 ArrayList,那么您的类必须实现 Parcelable 或 Serializable 接口。
查看这些在活动之间发送自定义对象的好教程
http://androidideasblog.blogspot.in/2010/02/passing-list-of-objects-between.html
【讨论】:
首先你需要在你的 Object 类中扩展 parcelable 类。然后你可以通过intent通过intent.putParcelableArrayListExtra("PASSING_DATA", data);
这里的数据是自定义对象的arraylist。
请参阅 Parcelable 和 Parcelable Tutorial 以获得更好的理解
【讨论】:
使用下面的代码在意图中传递数组列表。
Intent mIntent = new Intent(FirstActivity.this, SecondActivity.class);
mIntent.putParcelableArrayListExtra("Data", mArraylist);
startActivity(mIntent);
使用下面的代码从 Intent 中获取数组列表。
Bundle bdl = getIntent().getExtras();
mArraylist1 = bdl.getParcelableArrayList("Data");
【讨论】:
您可以在定义它的地方将数组列表设为静态,并且只将位置传递给下一个活动
【讨论】: