这是代码
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>
?
答案 0 :(得分:15)
USe i.putParcelableArrayListExtra(name, value)
我的意图是你的意图。不要将putExtra()用于parcelable ArrayList。
答案 1 :(得分:6)
尝试:
ArrayList<MyObject> myList = extras.<MyObject>getParcelableArrayList("list"));