我尝试使用搜索和刷新按钮创建菜单,但由于刷新按钮仅在多个活动中可用,我想将可见性设置为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"/>
不会出现刷新按钮/项目。
虽然我找到了解决方法并且可以继续进行,但这仍然让我非常困惑,而且我没有得到任何好的解释。
为什么会这样?
答案 0 :(得分:0)
您使用的是Eclipse吗? 我在Eclipse中看到一个错误,只是改变XML资源文件中元素的顺序就不会重新编译文件,导致各种奇怪的事情发生。
我建议您执行“Project&gt; Clean”以确保从头开始重新创建资源标识符。