【发布时间】:2010-01-26 01:18:54
【问题描述】:
我有一个对象(其中包括)一个 Intent 列表。我想将此对象作为附加对象传递给 Intent。但是,Intent 类是不可序列化的,它只是“Parcelable”。
我假设 Parcelable 是 Serializable 的 android 版本,但我宁愿不必为我的类编写自己的序列化代码,而 Parcelable 似乎需要这样做。
除了将 Intent 重新实现为可序列化的类之外,还有其他解决方案吗?
【问题讨论】:
我有一个对象(其中包括)一个 Intent 列表。我想将此对象作为附加对象传递给 Intent。但是,Intent 类是不可序列化的,它只是“Parcelable”。
我假设 Parcelable 是 Serializable 的 android 版本,但我宁愿不必为我的类编写自己的序列化代码,而 Parcelable 似乎需要这样做。
除了将 Intent 重新实现为可序列化的类之外,还有其他解决方案吗?
【问题讨论】:
您可以将Parcelable 放在额外的Intent 中,而Intent 已经是Parcelable。您需要做的就是将您的对象设为Parcelable,然后您就设置好了。
【讨论】:
Intent 实现Serializable,因此您的选择是在您的类上实现Parcelable,或者不通过附加功能传递它的实例。
您可以选择的另一条路线:
使您的意图列表瞬态(不包含在可序列化中), 然后通过 Intent.putExtra(String key, Parcelable[] value) 将其作为可打包数组传递。
然后接收类可以重新创建您的对象。
【讨论】: