当我在null String上调用.equals()时,我得到一个NullPointerException

时间:2013-07-12 23:56:58

标签: android

我在多个任务中使用1个Activity取决于我从MainActivity传递的意图。因此,如果我传递“是”它将显示并隐藏视图的一些元素,否则它将显示正常活动,但有时候应用程序因NullPointerExepction而崩溃,并且它将我带到我调用intent String的地方,就像没有传递过String一样。所以我喜欢它,因为我使用的是字符串而不是布尔值。对我的案子来说,更好的方法是什么?
这就是我现在用的东西:

public String getUserStatus(){
    Intent intent = getIntent();
    isUserLogedin = intent.getExtras().getString("userstatus");
    return isUserLogedin ;
}

我用这个:
 if(getUserStatus().equals("yes"))

2 个答案:

答案 0 :(得分:2)

您也可以使用允许三态的布尔值:

true,false,not set。

答案 1 :(得分:1)

在这种情况下,代码和logcat会非常有用。但是,我可以说,如果此Activity始终不接受Intent中的值,那么如果您执行类似

的操作
if ("yes".equals(variableName))

它可以防范null

因为您未能在NPE"是"上获得String。你可以试试。如果它不起作用,请发布相关代码和logcat。