有没有办法检查在启动 Activity 时是否传递了额外的参数?
我想做类似以下的事情(在 Activity 的 onCreate() 中):
我想做类似以下的事情(在 Activity 的 onCreate() 中):
Bundle extras = getIntent().getExtras();
String extraStr = extras.getString("extra");
if (extraStr == null) {
extraStr = "extra not set";
}
但是这会抛出一个java.lang.NullPointerException
异常。
谢谢。
NullPointerException
是在extras.getString("extra")
抛出的,而不是在将其分配给extraStr
时抛出的。因此,解决方案就是 Michal Kottman 所说的。 - jalv1039NullPointerException
错误是在extras.getString("extra")
调用内部抛出的。这个调用并不会返回一个null
值,它只是在返回结果之前就抛出了错误。所以进行检查是没有意义的,因为它在调用之前就会崩溃。我希望现在清楚了。 - jalv1039