我正在將ArrayList<Custom implements Parcelable> myList
傳遞給一個Intent。 以下兩種方式似乎都可以將ArrayList放入新的Intent中。在intent之間傳遞ArrayList會丟失數據
results.putParcelableArrayListExtra("list", myList);
results.putExtra("list", myList);
當我檢查mIntent/mExtras/mMap/table時,它就是一切。但在意圖的onCreate方法中,一些數據似乎丟失了。我收到的ArrayList然後用myList = (ArrayList<Custom>) this.getIntent().getParcelableArrayListExtra("list");
例如列表中包含五個項目[A],[B],[C],[d]和[E]:
put... get...
[a] -> [a]
[b] -> null
[c] -> [b]
[d] -> null
[e] -> [c]
似乎每新列表中的第二項並不打算,並佔用最後遺漏的一個地方。 你能告訴我我做錯了什麼嗎?
我還沒有嘗試過這樣的事情之前......但沒有任何理由你沒有得到ArrayList與getParcelableArrayListExtra()而不是Serializable版本? – Maximus 2011-04-20 20:50:28
這是一個錯誤。我將它改爲getParcelableArrayListExtra(),但不幸的是它沒有改變結果。 //編輯:在主文章中將getSerializableExtra()更改爲getParcelableArrayListExtra()。 – ShadowMare 2011-04-20 20:59:59