Android - Serializable接口问题

时间:2011-09-23 10:34:08

标签: android serializable parcelable

我一直在使用Serializable接口将对象从一个活动传递到另一个活动。我在发送方使用putExtra,在接收方使用getSerializable。一切正常,但我收到(第一次)以下错误报告:

  

java.lang.RuntimeException:Parcelable遇到IOException读取   一个Serializable对象

我不明白为什么我使用getSerializable而不是getParcelable生成了此异常。

我知道我应该实现Parcelable界面,因为它是专为Android设计的(这就是我最终会做的)但我想知道为什么我会收到此错误。

谢谢!

1 个答案:

答案 0 :(得分:1)

此错误中提及了

Parcelable,因为您从一个Intent发送到另一个Activity的{​​{1}}内部有BundleBundleParcelable }}。当您致电Intent.putExtra()时,此额外内容会添加到内部Bundle。在活动之间传递Intent时,Bundle将与字节数组进行转换,因此Serializable对象也是如此。

但我不知道为什么会出现这种错误。也许是因为writeObject() / readObject()实施中的一些错误。