昨日、これを機能させました。コードを再編成しましたが、何かが機能しなくなりました。しばらく見ていて、問題が見つかりません。
Parcelables の ArrayList をアクティビティに渡しています。
ArrayList<MyParcelable> myArrayListOfParcelables = new ArrayList<MyParcelable>();
//...
Intent intent = new Intent(this, ChooseGiftDetailsActivity.class);
intent.putParcelableArrayListExtra(Constants.FOO, myArrayListOfParcelables);
startActivity(intent);
レシーバー:
ArrayList<Parcelable> parcelableList = (ArrayList<Parcelable>)getIntent().getParcelableArrayListExtra(Constants.FOO);
parcelableList は送信していますが、常に null です。
もちろん、MyParcelable は Parcelable を拡張します。を使用して MyParcelable の 1 つのオブジェクトを渡すことを既にテストしましputExtra
たが、常に機能します。
Parcelable p = (Parcelable)getIntent().getExtras().getParcelable(Constants.BAR);
また
MyParcelable p = (MyParcelable)getIntent().getExtras().getParcelable(Constants.BAR);
MyParcelable のコードにいくつかのデバッグ メッセージを入れました。リストを渡すと、書き込みメソッドのみが実行されますが、読み取りが開始されず、createFromParcel
実行さえされません。これは何ですか?