java - 为什么我在 getString() 上得到一个空指针异常?

标签 java android android-studio nullpointerexception

我正在尝试从另一个 Activity 中获取数据,以便在按下另一个 Activity 上的按钮后可以使按钮可见,但是我在 getString 上收到了一个 NullPointerException ()

value=getIntent().getExtras().getString("buttonStatus");
if(value.equals("Visible")){
    button.setVisibility(View.VISIBLE);
    alarmLayout.setVisibility(View.VISIBLE);
}

报警频率.java

Intent intent=new Intent(alarmFrequency.this,MainActivity.class);
intent.putExtra("buttonStatus","Visible");

所以字符串buttonStatus应该让按钮可见,我不知道为什么会出错。

最佳答案

请注意,getIntent().getExtras() 可以返回 null,如果其中没有设置 extras,您应该检查是否为此键设置了 extras buttonStatus

intent 中设置 extras 的代码

 Intent intent = new Intent();
 intent.putExtra("buttonStatus", "active");

如果您正在创建一个启动 Activity 并传递数据的 Intent 它

 Intent intent = new Intent(this, AnotherActivity.class);
 intent.putExtra("buttonStatus", "active");
 startActivity(intent);

intent 中获取额外内容的代码

 Bundle bundle = getIntent().getExtras();
 if (bundle != null) {
       String status = (String) bundle.get("buttonStatus");  //bundle.get can return null for buttonStatus if not set
  }

关于java - 为什么我在 getString() 上得到一个空指针异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57022306/

相关文章:

java - 为 dbcp2 设置 spring bean 配置给出 "PoolableConnectionFactory not linked to pool. Calling setPool()"

java - 使用 CDI 的简单 Faces Flow 中的 ContextNotActiveException

android - 通过android内置相机拍摄图像,但不保存

android - 如何将流程输出链接到textview并实时自动更新?

java - 尝试从文本字段读取格式化的 double 值

java - 如何改进代码设计以消除 Java 中对 'instanceof' 的需要?

java - 解析改造 response.body()

Android Studio断点交叉解释

android - 调试时减少 Android Studio 中的编译和部署时间

android-studio - 使用 AdMob 公开出价的 FAN Interstital 不起作用