获得额外意图时的空指针

Posted

技术标签:

【中文标题】获得额外意图时的空指针【英文标题】:Null pointer when getting intent extra 【发布时间】:2011-09-30 14:08:43 【问题描述】:

在运行我的应用程序时,有时在检索与意图绑定的值时会得到一个空指针

将其设置在一个类中

private void start()
    Intent i = new Intent(this,Tabs.class);
    i.putExtra("helper", checked);
    startActivity(i);

checked 是一个布尔值,永远不会为空

在其他类中获得它

private void getExtra()
    Bundle extras = getIntent().getExtras();
    mExtra = extras.getBoolean("helper");

关于为什么它有时会为空的任何想法?

【问题讨论】:

当您在其他活动上或通过任务管理器点击“返回”按钮后导航回此活动时,是否会发生这种情况? 此时在应用程序中点击后退按钮只会退出应用程序,因为我将之前的活动设置为无历史记录 【参考方案1】:

使用getBooleanExtra()从intent中获取值

示例代码

boolean mExtra = getIntent().getBooleanExtra("helper", false);

【讨论】:

它不会返回 null,他/她正在获取 null。此外,如果键“helper”的数据存在,它将返回 true。如果键 "helper" 没有数据,它将返回 false 为什么没有钥匙呢?我有一种感觉,有时可能是钥匙不存在的实际问题

以上是关于获得额外意图时的空指针的主要内容,如果未能解决你的问题,请参考以下文章

向上导航的空指针android

发送 json 数据时的空指针

从 Android 的 LocationManager 请求 getLastKnownLocation 时的空指针

在 Spring Boot 2 中测试组件时的空指针

setText时的空指针异常 - TextView [复制]

获取表单信息,进行对比时的空指针错误