菜单顺序不受尊重

时间:2014-12-08 20:35:59

标签: android menu navigation

我在main.xml文件中定义了一些菜单项:

<item
    android:id="@+id/action_edit_friends"
    android:title="@string/menu_edit_friends_label">
</item>
<item
    android:id="@+id/action_logout"
    android:title="@string/menu_logout_label">
</item>

MainActivity课程中,我在onOptionsItemSelected方法中有以下代码:

    int id = item.getItemId();

    if(id == R.id.action_edit_friends) {
        //Start a new activity
    } else if(id == R.id.action_logout) {
        //Log the user out

然而,问题是:每当我点击action_edit_friends时,都会执行action_logout的代码,反之亦然。关于为什么会发生这种情况的任何线索?我已经清理了这个项目,但没有用。

1 个答案:

答案 0 :(得分:1)

使用android:orderInCategory="1",如下所示:

<item
    android:id="@+id/action_go_right"
    android:orderInCategory="1"
    android:showAsAction="never"
    android:title="@string/menu_go_right"/>
<item
    android:id="@+id/action_go_left"
    android:orderInCategory="2"
    android:showAsAction="never"
    android:title="@string/menu_go_left"/>

如果您的字符串实际上是正确的,这不能解决问题,但它至少可以订购菜单上的项目。无论如何,Android将在重新编译xml时重建R文件。如果问题仍然存在,请尝试将操作ID更改为xml和Java代码中的不同。