我正在尝试从另一个 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/