我在Android应用中使用主/详细模板,该模板在平板电脑上运行良好。但是,在手机版本中,当单击ListActivity中的“向上”按钮时,我一直得到一个nullpointer异常。
调试时,我看到当单击detail片段中的“up”按钮时,我返回到父活动(listactivity)并返回onCreate()方法。在那里我正在做:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_gamelist);
String systemStr = getIntent().getStringExtra("systemObj");
...
}
但是当从详细信息片段返回时,intent为null,因此在访问systemStr时我得到一个nullpointer异常。
当我单击详细信息片段中的“up”以返回列表活动时,我需要做什么才能避免此nullpointer异常?如上所述,平板电脑(双窗格)版本有效,问题出在手机版本中。
答案 0 :(得分:0)
我找不到任何问题的解决方案,所以我最终在详细活动中使用此代码以避免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);
}
至少该解决方案不会导致我的应用程序崩溃。