假设您有两个类ObjA和ObjB。ObjB由ObjA派生而来。
如果你在ObjB中实现了parcelable,你也需要打包ObjA吗?
我有一个项目,当我尝试上面的方法时,它不会工作,但一旦我将ObjA和ObjB组合在一起,应用程序就可以工作了。
我看到一个链接到这个site的问题,但是派生类在ObjB中有ObjA。我只是简单地扩展了ObjA,所以我还需要打包这两个类吗?
发布于 2012-01-21 13:29:12
据我所知,
如果ObjB是一个ObjA -如果这是在ObjB中完成的,则不需要在ObjA中实现parcelable。
但,
如果ObjB有一个ObjA -只有当你通过包裹发送它的状态时,你才需要在ObjA中实现parcelable。
发布于 2013-09-28 04:24:34
如果我没理解错的话,objB扩展了objA。在这种情况下,我认为您希望将parcelable放在objA中,以便objB也能获得它。
如果您的计划是创建一个实现parcelable的特殊类,并让许多其他类扩展该类,这是很棘手的,因为objB中的成员和字段需要以读取它们的相同顺序写入,因此objA需要正确排序,并且它需要知道objB的成员是什么类型,以便它可以读取和写入正确的类型。幸运的是,我写了一个类来做这件事:
https://stackoverflow.com/questions/8950845
复制相似问题