2011-09-23 57 views
2

我一直在使用Serializable接口将对象从一个活动传递到另一个活动。我在发送端使用putExtra,在接收端使用getSerializable。一切工作正常,但我已经收到(首次)以下错误报告:Android - 可序列化接口问题

了java.lang.RuntimeException:Parcelable遇到IOException异常阅读 Serializable对象

我不明白为什么自从我使用getSerializable而不是getParcelable以来,此异常已生成。

我知道我应该实现Parcelable接口,而不是因为它专门为Android设计的(这就是我最终要做的),但我想了解为什么我得到这个错误。

谢谢!

回答

1

Parcelable在这个错误,因为你Intent从一个Activity发送到另一提到有Bundle内,这BundleParcelable。当您拨打Intent.putExtra()时,此额外内容将被添加到内部Bundle。当在活动之间传递Intent时,它的Bundle被转换为字节数组,并且从字节数组转换为Serializable对象。

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