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

启动新Activity时Intent所有extras均为null问题求助

Android Intent传参后DetailActivity获取值全为null的排查方案
  • 检查键名一致性
    确认DogCardAdapter中Intent.putExtra()使用的键名,与DetailActivity中getStringExtra()/getIntExtra()等方法的键名完全匹配,包括大小写、拼写。建议通过定义常量类统一管理键名,避免手动拼写错误。

  • 验证传递参数的有效性
    在DogCardAdapter启动Intent前,添加日志打印确认要传递的狗狗名称、年龄、爱好等参数本身不为null:

    Log.d("DogCardAdapter", "Dog Name: " + dog.getName() + ", Age: " + dog.getAge());
    

    若参数本身为null,需先排查数据源的正确性。

  • 确认Intent创建与启动逻辑
    检查DogCardAdapter中Intent的创建是否正确传入目标Activity类,以及上下文是否有效:

    Intent intent = new Intent(holder.itemView.getContext(), DetailActivity.class);
    

    避免使用Application Context启动Activity,优先使用View关联的上下文或Activity实例。

  • 检查参数获取时机
    确保在DetailActivity的onCreate()方法中通过getIntent()获取参数,不要在构造方法或未完成初始化的生命周期阶段调用。同时避免调用setIntent()覆盖原始Intent,导致参数丢失。

  • 对象传递的接口实现检查(若传递自定义对象)
    若直接传递Dog对象而非单个参数,需确认Dog类正确实现Parcelable或Serializable接口,且writeToParcel()与CREATOR.createFromParcel()方法中的字段读写完全对应,无遗漏或顺序错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 00:05:25