Android应用程序崩溃onCreate

时间:2013-12-18 16:40:43

标签: android android-intent android-activity oncreate

当我使用getAction()值区分两个意图时,我的应用程序崩溃了。当我删除这段代码时,它没有,所以我认为它与这段代码有关:

Intent intent = getIntent();
String action = intent.getAction()

if(action.equals(ViewFavorites.SOURCE) {
    //Do something
} else if(action.equals(AppSettings.SOURCE) {
    //Do something
}

此代码位于我的MainActivities onCreate方法中。在ViewFavorites和AppSettings中,操作设置为SOURCE静态字段。但是当这段代码运行时...... 我的应用程序崩溃...继承了另外两个类文件代码块,它们处理MainActivity的调用(WeatherDisplay ......

ViewFavorites:

Intent intentWeatherDisplay = new Intent(this, WeatherDisplay.class);
intentWeatherDisplay.setAction(SOURCE);
startActivity(intentWeatherDisplay);

的AppSettings:

Same thing as code above ^

1 个答案:

答案 0 :(得分:4)

看起来action可以是null。使用反向构造来避免NPE。

if (ViewFavorites.SOURCE.equals(action) {
    //Do something
} else if(AppSettings.SOURCE.equals(action) {
    //Do something
}