这是代码不能一个ArrayList <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<Parcelable> list = (List<Parcelable>)getIntent().getParcelableArrayListExtra("list");
已在接收活动中使用,但我怎么把它和我如何获得List<MyObject>
从List<Parcelable>
?
方法getParcelableArrayListExtra给我的ArrayList我怎么ArrayList的?看起来像我必须投入元素,或实例化一个新的副本与类型ArrayList ? –
Ixx
你的对象必须实现Parcelable。所以他们应该做得很好 – Akhil
因为他们在一个List中,所以他们不可能施放它们,而且泛型不是协变的。 – Ixx