可能重複:
Can't pass an ArrayList<Parcelable> to an activity空接收Parcelable
昨天我得到這個工作,我取得了一些代碼改組和現在的東西不工作了。看了一會兒,我找不到問題。
我傳遞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總是空雖然我送一個。
MyParcelable當然擴展Parcelable。我已經使用putExtra
測試MyParcelable路過一個對象,它始終工作:
Parcelable p = (Parcelable)getIntent().getExtras().getParcelable(Constants.BAR);
或
MyParcelable p = (MyParcelable)getIntent().getExtras().getParcelable(Constants.BAR);
我把一些調試消息在MyParcelable的代碼,我看到路過的名單隻有書面方式方法時,執行,但它永遠不會開始閱讀,甚至不執行createFromParcel
。這是什麼?
遵循這一嘖嘖http://prasanta-paul.blogspot.com/2010/06/android-parcelable-example.html – Akram
我這樣做,但它不工作 – Ixx
他們,你必須失去了一些東西 – Akram