3 回答

TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個(gè)贊
我可以在這里看到許多問(wèn)題:
為什么要使用addressParcelable?為什么不使地址實(shí)現(xiàn)Parcelable,然后使用:
intent.putParcelableArrayListExtra( "addresses", addyExtras );
您的可包裹對(duì)象必須包含一個(gè)靜態(tài)CREATOR。有關(guān)詳細(xì)信息,請(qǐng)參見(jiàn)文檔。
在致電之前,您實(shí)際上并未在意圖中添加任何其他功能startActivity()。有關(guān)建議,請(qǐng)參見(jiàn)第1點(diǎn)。
我認(rèn)為您需要解決所有這些問(wèn)題才能使其正常運(yùn)行。

TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超3個(gè)贊
可以更簡(jiǎn)單地完成它,而無(wú)需實(shí)現(xiàn)Parcelable
... 的所有艱辛工作ArrayList
(但不是任何一項(xiàng)List
)Serializable
。因此,您可以使用放置整個(gè)列表,putExtra()
并使用來(lái)檢索它getSerializableExtra()
,如Sam所說(shuō)。
但是,我想補(bǔ)充一件事:數(shù)組列表存儲(chǔ)的對(duì)象也必須實(shí)現(xiàn)Serializable
...并且該對(duì)象可能包含的所有其他復(fù)雜對(duì)象(在您的情況下,都不是)也必須實(shí)現(xiàn)(因此它是遞歸的-在為了序列化一個(gè)對(duì)象,您必須能夠序列化其所有字段)。
現(xiàn)在,您可能會(huì)問(wèn)自己,為什么要實(shí)施Serializable
而不是Parcelable
何時(shí)已經(jīng)有讀寫(xiě)讀寫(xiě)數(shù)組列表的方法?好吧...區(qū)別在于簡(jiǎn)單性-只需添加implements Serializable
和private static final long serialVersionUID = SOME_CONSTANT
,您就可以完成!這就是為什么我從不使用Parcelable
-您可以使用Serializable
字面意義上的兩行代碼來(lái)完成所有這些事情-而不是許多方法繼承和所有這些東西...

TA貢獻(xiàn)1805條經(jīng)驗(yàn) 獲得超10個(gè)贊
putExtra()
并且getSerializable()
將存儲(chǔ)和檢索ArrayList<>
您的自定義對(duì)象,并實(shí)現(xiàn)無(wú)需接口。為我工作!
- 3 回答
- 0 關(guān)注
- 455 瀏覽
添加回答
舉報(bào)