You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Parcelable在3个Fragment间传自定义对象遇异常及解决

在多Fragment间传递Parcelable对象的异常解决方法

问题场景

我最近在开发中遇到了一个棘手的问题:需要在3个Fragment之间传递一个自定义对象,这个对象已经实现了Parcelable接口,也能正常从数据库中读取,但只要应用进入暂停状态(比如切换到手机上的其他应用),就会触发异常导致崩溃。

我的解决步骤

经过几次尝试,我通过以下操作解决了这个问题:

  • 在Fragment创建时,先把从数据库获取到的自定义对象赋值给一个类成员变量
  • 当点击按钮跳转至下一个Fragment时,不要直接传递已有的对象实例:
    1. 先将该成员变量置为null,移除现有引用
    2. 重新从数据库获取该对象的新实例,再通过Bundle传递给目标Fragment

推测问题根源是旧的对象引用在Activity状态恢复时,出现了Parcelable序列化的冲突,重新获取实例后就避免了这个问题。

内容的提问来源于stack exchange,提问作者Vr33ni

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 03:31:18