我的申请中有活动。让我们称他们为活动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。可能是什么原因?
答案 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);
让它正确导航。