我正在使用在平板电脑上效果很好的Android应用中的主/详细模板。但是,在手机版本中,我在单击ListActivity中单击" UP"按钮时一直在获得nullpointer异常。
调试时,我会发现当单击详细信息片段中的"向上"按钮时,我会返回到父活动(listActivity),然后返回到otCreate()方法。在那里我正在做:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_gamelist);
String systemStr = getIntent().getStringExtra("systemObj");
...
}
但是,当从细节片段返回此时,意图是无效的,因此访问Systemsstr。
当我在详细信息片段中单击" up"以返回列表活动时,我需要做什么才能避免使用此nullpointer异常?如上所述,平板电脑(两个窗格)版本可行,问题仅在手机版本中。
我找不到有关该问题的任何解决方案,因此我最终在详细活动中使用了此代码以避免nullpointer异常:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
// When pressing the UP button in the action bar simulate the "back" button.
case android.R.id.home:
onBackPressed();
return true;
}
return super.onOptionsItemSelected(item);
}
至少该解决方案不会崩溃我的应用。