5

これはコードです

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");

ここでリストはnullです。また、これは機能しません:

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

MyObjectはParcelableであり、必要なすべてのメソッドを実装しました。この実装は問題ではないと思います。そうしないと、他の種類の例外を受け取ることになります。しかし、リストがnullである以外は何も得られません。

前もって感謝します...

今私はこれを見つけました:

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

これはレシーバーアクティビティで使用する必要がありますが、どのように送信し、どのように取得List<MyObject>List<Parcelable>ますか?

4

2 に答える 2

15

i.putParcelableArrayListExtra(name, value)があなたの意図であるところを使用してください。パーセル可能なArrayListにputExtra()を使用しないでください。

于 2012-06-25T13:54:26.107 に答える
6

試す:

ArrayList<MyObject> myList = extras.<MyObject>getParcelableArrayList("list"));
于 2015-04-22T20:22:21.833 に答える