我正在尝试从另一个活动中获取数据,以便在按下另一个活动上的按钮后可以使该按钮可见,但是我在db.Courses.find().pretty()
{
"_id" : ObjectId("5d29c3a58212eda90db024c4"),
"courseID" : "1",
"courseName" : "C#"
}
{
"_id" : ObjectId("5d29c3a58212eda90db024c5"),
"courseID" : "2",
"courseName" : "Java"
}
{
"_id" : ObjectId("5d29c3a58212eda90db024c6"),
"courseID" : "3",
"courseName" : "JavaScript"
}
上得到了一个NullPointerException
。
getString()
alarmFrequency.java
value=getIntent().getExtras().getString("buttonStatus");
if(value.equals("Visible")){
button.setVisibility(View.VISIBLE);
alarmLayout.setVisibility(View.VISIBLE);
}
所以应该使用字符串Intent intent=new Intent(alarmFrequency.this,MainActivity.class);
intent.putExtra("buttonStatus","Visible");
使按钮可见,而且我也不知道为什么会出错。
答案 0 :(得分:1)
请注意,如果getIntent().getExtras()
中未设置其他功能,则可以返回null,您应该检查是否为此键buttonStatus
设置了其他功能。
在intent
Intent intent = new Intent();
intent.putExtra("buttonStatus", "active");
如果您要创建一个开始活动并与之一起传递数据的意图 它
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
}
答案 1 :(得分:0)
尝试使用特定类型的getStringExtra(..)
。