0

我有一个实现Parcelable. 该类的三个字段也是Parcelable对象。当我通过 dest.writeParcelable(mParcelableObject, 0) 将这些字段写入 Parcel 并尝试读回它们并通过in.readParcelable(classLoader)我得到一个ClassCastException. 似乎我无法将多个写入ParcelablesaParcel并期望系统找出写入的哪些 Parcelables 对应于我的哪些字段。换句话说,如果我把它们都写出来,然后依次读出来:

someFieldOfTypeA = in.readParcelable(classLoader)
someFieldOfTypeB = in.readParcelable(classLoader)
someFieldOfTypeC = in.readParcelable(classLoader)

..那么我永远无法成功写入someFieldOfTypeBfrom readParcelable。阅读假设 thisreadParcelable的类型是 A 类,这是我写的第一个类型writeParcelable

我希望这有任何意义。

那么如何编写多个 parcelables 然后读取它们并将它们分配给它们相应的字段而不得到一个ClassCastException

4

1 回答 1

0

好吧,对我来说,我最好直接调用 FieldOfTypeB.CREATOR.writeToParcel(dest) (因为这些字段本身就是 Parcelable)。

于 2012-12-26T19:53:06.370 回答