[英]Can't pass an ArrayList<Parcelable> to an activity
這是代碼
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<Parcelable>
獲取List<MyObject>
List<Parcelable>
?
使用i.putParcelableArrayListExtra(name, value)
,其中i是你的意圖。 不要將putExtra()用於parcelable ArrayList。
嘗試:
ArrayList<MyObject> myList = extras.<MyObject>getParcelableArrayList("list"));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.