Android:在清单中设置导航需要root父级

时间:2014-02-10 21:49:46

标签: android android-actionbar android-manifest

我正在尝试将Back选项从一个活动设置为其他

  • 活动类别注册具有父注册活动。
  • 活动注册具有父级LoginActivity

当我从上面回来时,我回到登录注册,而对于categoryregister活动,我应该回到注册活动。

清单文件的一部分:

<activity
    android:label="Login Account"
    android:name=".LoginActivity"></activity>
<activity
    android:label="Register New Account"
    android:parentActivityName=".LoginActivity"
    android:name=".RegisterActivity"></activity>
<activity
    android:label="Select Category"
    android:parentActivityName=".RegisterActivity"
    android:name=".CategoryRegister"></activity>

设置返回导航的步骤:

getActionBar().setDisplayHomeAsUpEnabled(true);

@Override
public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
        case R.id.action_register:

            return true;
          break;
        case android.R.id.home:
            NavUtils.navigateUpFromSameTask(this);
            return true;
            default:
                   return true;
}

提前致谢。我真的不明白这种行为。有没有人面临类似的问题?

使用上面的清单,它适用于parent-&gt; child,但是如果是parent-&gt; child1-&gt; child2(child2 up按钮收回父级,而不是child1,它是child2的父级,如android清单。

1 个答案:

答案 0 :(得分:1)

您使用的Android版本是什么?如果您使用的是2.1或更低版本,则需要元标记以实现向后兼容性。 E.g

<activity
    android:name="someActivity"
    android:label="someLabel"
    android:parentActivityName="theParent">

    <meta-data
        android:name="android.support.PARENT_ACTIVITY"
        android:value="theParent" />

</activity>

编辑:如果不是这种情况,请查看此http://developer.android.com/design/patterns/navigation.html