2016-05-16 28 views
1

我有一個自定義對象private List<AnotherCustomObject> mList;。請注意,AnotherCustomObject執行Parcelable寫一個List到Parcelable?

但是如果我想寫mListdestwriteToParcel(),然後讀回來後,這纔是正確的做法:

dest.writeList(mList);

,然後在讀法

in.readList(mList, ClassLoader.getSystemClassLoader());

是否正確?

+1

您是否嘗試過這樣做呢? –

+0

它不會拋出錯誤,但不會使其正確 –

回答

0

請嘗試使用必要的類加載器。

in.readList(mList, AnotherCustomObject.getClass().getClassLoader()); 
+0

'.class'和'.getClass()'之間有區別嗎? –

+0

更好的是通過'.class'進行靜態訪問 –

0

List<AnotherCustomObject> mList可以使用readTypedList(List<T> list, Creator<T> c)方法來讀取和寫入使用writeTypedList(List<T> val)方法。

在你writeToParcel方法,你能寫:

dest.writeTypedList(mList); 

然後在其中創建了一個從Parcel對象的實例,你可以把構造函數:

in.readTypedList(mList, AnotherCustomObject.CREATOR); 
相關問題