我在多个任务中使用1个Activity取决于我从MainActivity传递的意图。因此,如果我传递“是”它将显示并隐藏视图的一些元素,否则它将显示正常活动,但有时候应用程序因NullPointerExepction而崩溃,并且它将我带到我调用intent String的地方,就像没有传递过String一样。所以我喜欢它,因为我使用的是字符串而不是布尔值。对我的案子来说,更好的方法是什么?
这就是我现在用的东西:
public String getUserStatus(){
Intent intent = getIntent();
isUserLogedin = intent.getExtras().getString("userstatus");
return isUserLogedin ;
}
我用这个:
if(getUserStatus().equals("yes"))
答案 0 :(得分:2)
您也可以使用允许三态的布尔值:
true,false,not set。
答案 1 :(得分:1)
在这种情况下,代码和logcat会非常有用。但是,我可以说,如果此Activity
始终不接受Intent
中的值,那么如果您执行类似
if ("yes".equals(variableName))
它可以防范null
值
因为您未能在NPE
"是"上获得String
。你可以试试。如果它不起作用,请发布相关代码和logcat。