android up导航表现为后退

时间:2014-03-04 03:30:17

标签: android android-activity android-navigation

我的申请中有活动。让我们称他们为活动1,2,3。所有人都是孩子  主要活动。在我的应用程序中,我为每个子活动定义:

    <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-&gt; 1-> 2&gt; 3导航然后按下向上按钮,则返回3->&gt; 2-&gt; 1-&gt;主要。它不会让我回到3&gt; main。可能是什么原因?

1 个答案:

答案 0 :(得分:1)

要处理硬件后退按钮,您可以使用此代码(位于How to handle back button in activity

@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);

让它正确导航。