3 回答
TA贡献1865条经验 获得超7个赞
我可以在这里看到许多问题:
为什么要使用addressParcelable?为什么不使地址实现Parcelable,然后使用:
intent.putParcelableArrayListExtra( "addresses", addyExtras );
您的可包裹对象必须包含一个静态CREATOR。有关详细信息,请参见文档。
在致电之前,您实际上并未在意图中添加任何其他功能startActivity()。有关建议,请参见第1点。
我认为您需要解决所有这些问题才能使其正常运行。
TA贡献1875条经验 获得超3个赞
可以更简单地完成它,而无需实现Parcelable
... 的所有艰辛工作ArrayList
(但不是任何一项List
)Serializable
。因此,您可以使用放置整个列表,putExtra()
并使用来检索它getSerializableExtra()
,如Sam所说。
但是,我想补充一件事:数组列表存储的对象也必须实现Serializable
...并且该对象可能包含的所有其他复杂对象(在您的情况下,都不是)也必须实现(因此它是递归的-在为了序列化一个对象,您必须能够序列化其所有字段)。
现在,您可能会问自己,为什么要实施Serializable
而不是Parcelable
何时已经有读写读写数组列表的方法?好吧...区别在于简单性-只需添加implements Serializable
和private static final long serialVersionUID = SOME_CONSTANT
,您就可以完成!这就是为什么我从不使用Parcelable
-您可以使用Serializable
字面意义上的两行代码来完成所有这些事情-而不是许多方法继承和所有这些东西...
- 3 回答
- 0 关注
- 401 浏览
添加回答
举报