2
我有一個擴展Parcelable類,我們把它叫做A類擴展Parcelable閱讀另Parcelable
我有一個擴展Parcelable另一個類,我們把它叫做B類
一A的成員變量是B類對象的ArrayList。
我試圖寫Parcelable覆蓋,但無法弄清楚如何保存和讀取類的ArrayList的B.
有一些方法來讀取和寫入的ArrayList,但他們希望有一個參數,是一個ClassLoader,我不熟悉它。我也可以將ArrayList複製到一個數組中,並使用這些方法來讀寫一個Parcelable數組,但是這也需要一個ClassLoader參數。
更新:
它看起來像
in.readTypedList(mList, ClassB.CREATOR);
和
out.writeTypedList(mList);
是我在尋找什麼呢?
readTypedList和writeTypedList做了這個工作 – Andrew
好的......但是如何從一個包裹讀入最終列表呢?我得到「可能未被初始化」。 readTypedList會使用現有的,還是堅持重新創建它? – kaay
如果列表是最終的,它並不意味着它是常量,因此您可以將列表傳遞給'readTypedList()'方法,並且它將填充以前編寫的對象。但在調用該方法之前,您需要初始化該列表,例如,'final List list = new ArrayList ();'。 –
Michael