我有一个实现Parcelable
. 该类的三个字段也是Parcelable
对象。当我通过 dest.writeParcelable(mParcelableObject, 0) 将这些字段写入 Parcel 并尝试读回它们并通过in.readParcelable(classLoader)
我得到一个ClassCastException
. 似乎我无法将多个写入Parcelables
aParcel
并期望系统找出写入的哪些 Parcelables 对应于我的哪些字段。换句话说,如果我把它们都写出来,然后依次读出来:
someFieldOfTypeA = in.readParcelable(classLoader)
someFieldOfTypeB = in.readParcelable(classLoader)
someFieldOfTypeC = in.readParcelable(classLoader)
..那么我永远无法成功写入someFieldOfTypeB
from readParcelable
。阅读假设 thisreadParcelable
的类型是 A 类,这是我写的第一个类型writeParcelable
。
我希望这有任何意义。
那么如何编写多个 parcelables 然后读取它们并将它们分配给它们相应的字段而不得到一个ClassCastException
?