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

从Firebase获取Parcelable对象时触发NullPointerException求助

解决Parcelable读取Anak对象时的NullPointerException问题

问题根源很直接:你调用Anak.getClass()时,Anak是未初始化的对象变量(此时为null),调用null对象的getClass()方法必然触发NullPointerException。正确的做法是直接通过类本身获取类加载器,而非依赖对象实例。

核心修复

把Diary模型Parcel构造函数里的代码行:

this.Anak = parcel.readParcelable(Anak.getClass().getClassLoader());

替换为:

this.Anak = parcel.readParcelable(Anak.class.getClassLoader());

辅助检查

  • 确认Anak类正确实现Parcelable接口:

    • writeToParcel方法要把所有字段完整写入Parcel
    • 静态CREATOR常量要正确实现,能从Parcel重建Anak对象
    • Parcel参数的构造函数要按写入顺序读取所有字段
  • 从Firebase读取时,如果Anak字段可能为null,读取后可添加null检查避免后续逻辑出错;同时确保Diary的writeToParcel方法正确写入Anak对象:

    parcel.writeParcelable(this.Anak, 0);
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 18:52:18