Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android-MenuItem布局顺序影响java代码_Java_Android_Xml - Fatal编程技术网

Android-MenuItem布局顺序影响java代码

Android-MenuItem布局顺序影响java代码,java,android,xml,Java,Android,Xml,我尝试使用“搜索和刷新”按钮创建菜单,但由于“刷新”按钮仅在多个活动中可用,因此我希望将可见性设置为false,然后添加以下内容: public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.mainmenu, menu); MenuItem item = menu.findItem(R.id.actio

我尝试使用“搜索和刷新”按钮创建菜单,但由于“刷新”按钮仅在多个活动中可用,因此我希望将可见性设置为false,然后添加以下内容:

public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.mainmenu, menu);
    MenuItem item = menu.findItem(R.id.action_refresh);
    item.setVisible(true);
    return true;
}
到java活动

使用以下代码,菜单将正确显示,左侧显示刷新,右侧显示搜索

<item
    android:id="@+id/action_search"
    android:title="Search"
    android:menuCategory="system"
    android:orderInCategory="2"
    android:showAsAction="always"
    android:icon="@drawable/ic_action_search"/>

<item
    android:id="@+id/action_refresh"
    android:title="Refresh"
    android:menuCategory="system"
    android:orderInCategory="1"
    android:showAsAction="always"
    android:icon="@drawable/ic_action_refresh"
    android:visible="false"/>
但通过颠倒项目顺序

<item
    android:id="@+id/action_refresh"
    android:title="Refresh"
    android:menuCategory="system"
    android:orderInCategory="1"
    android:showAsAction="always"
    android:icon="@drawable/ic_action_refresh"
    android:visible="false"/>

<item
    android:id="@+id/action_search"
    android:title="Search"
    android:menuCategory="system"
    android:orderInCategory="2"
    android:showAsAction="always"
    android:icon="@drawable/ic_action_search"/>
刷新按钮/项目将不会出现

虽然我已经找到了解决办法并可以继续,但这仍然让我非常困惑,我没有得到任何好的解释

为什么会发生这种情况?

您正在使用Eclipse吗? 我在Eclipse中看到了一个bug,简单地更改XML资源文件中元素的顺序不会重新编译该文件,从而导致各种奇怪的事情发生


我建议您执行Project>Clean以确保从头开始重新创建资源标识符。

我这样做了,但除非交换顺序,否则它仍然不会出现。