0

我的应用程序中有一个活动。让我们称它们为活动 1、2、3。他们都是 MainActivity 的孩子。在我的应用程序中,我为每个子活动定义:

    <activity
        android:name="SettingsActivity"
        android:label="@string/title_gen_activity_settings"
        android:parentActivityName="MainActivity" >
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value="MainActivity" />
    </activity>

在 onOptionsItemSelected 它处理:

    else if(item.getItemId() == R.id.set_general_settings){
        Intent intent = new Intent(this, GeneralSettingsActivity.class); 
        startActivity(intent);
    }

但是,如果我从 main->1->2->3 导航,然后按向上按钮,它会返回 3->2->1-> main。它不会让我回到 3->main。可能是什么原因?

4

1 回答 1

1

要处理硬件后退按钮,您可以使用此代码(在如何处理活动中的后退按钮中找到)

@Override
public void onBackPressed() {//for api level 5
    // your code.
}

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {//higher than api 5
    if (keyCode == KeyEvent.KEYCODE_BACK) {
        // your code
        return true;
    }

    return super.onKeyDown(keyCode, event);
}

如果您的最低 API 设置为 5 级或更低,请使用第一个(据我所知应该可以)

现在,我们需要向上导航。因此,您的代码注释在哪里,您应该能够编写:

NavUtils.navigateUpFromSameTask(this);

并让它正确导航。

于 2014-03-04T03:35:50.257 回答