无法将ArrayList <parcelable>传递给活动</parcelable>

时间:2012-06-25 13:21:08

标签: android android-activity parameters parcelable

这是代码

ArrayList<MyObject> list = new ArrayList<MyObject>();
list.add(new MyObject());
Intent intent = new Intent(this, ReceiverActivity.class);
intent.putExtra("list", list);
startActivity(intent);

ReceiverActivity

List<MyObject> list = (List<MyObject>)getIntent().getExtras().getParcelable("list");

此处列表为空。这也行不通:

List<MyObject> list = (List<MyObject>)getIntent().getExtras().getSerializable("list");

MyObject是Parcelable,我实现了所有必需的方法。我想这个实现不是问题,因为否则我会找到其他类型的例外。但是除了list之外我没有得到任何东西。

提前致谢...

现在我发现了这个:

List<Parcelable> list = (List<Parcelable>)getIntent().getParcelableArrayListExtra("list");

必须在接收器活动中使用,但如何发送它以及如何从List<MyObject>获取List<Parcelable>

2 个答案:

答案 0 :(得分:15)

USe i.putParcelableArrayListExtra(name, value)我的意图是你的意图。不要将putExtra()用于parcelable ArrayList。

答案 1 :(得分:6)

尝试:

ArrayList<MyObject> myList = extras.<MyObject>getParcelableArrayList("list"));