在主/明细模板中使用“向上”按钮时,意图会丢失

时间:2014-03-09 21:54:39

标签: android-intent android-fragments master-detail

我在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异常?如上所述,平板电脑(双窗格)版本有效,问题出在手机版本中。

1 个答案:

答案 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);
}

至少该解决方案不会导致我的应用程序崩溃。