当我使用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 ^
答案 0 :(得分:4)
看起来action
可以是null
。使用反向构造来避免NPE。
if (ViewFavorites.SOURCE.equals(action) {
//Do something
} else if(AppSettings.SOURCE.equals(action) {
//Do something
}