奇怪:Android菜单图标只显示一个可见图标
我发现一些关于android菜单图标的奇怪行为。当我通过OnCreateOptions菜单添加图标时奇怪:Android菜单图标只显示一个可见图标,android,android-fragments,android-menu,Android,Android Fragments,Android Menu,我发现一些关于android菜单图标的奇怪行为。当我通过OnCreateOptions菜单添加图标时 setVisible(false) 图标将不显示,如果我呼叫,也不会显示 setVisible(true) 在稍后的电话中。参见我的示例: public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { ... entryOne = menu.add("menuOne"); entryOne.setIcon(
setVisible(false)
图标将不显示,如果我呼叫,也不会显示
setVisible(true)
在稍后的电话中。参见我的示例:
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
...
entryOne = menu.add("menuOne");
entryOne.setIcon(...);
entryOne.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
entryOne.setVisible(false);
entryTwo = menu.add("menuTwo");
entryTwo.setIcon(...);
entryTwo.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
entryTwo.setVisible(false);
// entryThree = menu.add("menuThree");
// entryThree.setIcon(...);
// entryThree.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
// entryThree.setVisible(true);
super.onCreateOptionsMenu(menu, inflater);
}
...
public void onItemClick(...) {
...
entryOne.setVisible(true);
entryTwo.setVisible(true);
...
}
当然是我设定的
setHasOptionsMenu(true);
奇怪的是,当我取消注释onCreateOptions菜单中的最后几行时,一切都正常
<uses-sdk android:minSdkVersion="11"
android:targetSdkVersion="14" />
这是一个bug还是我做错了什么?当我使用处理程序时,它对我起了作用
public void onItemClick(...) {
...
handler.postDelayed(new Runnable() {
public void run() {
entryOne.setVisible(true);
entryTwo.setVisible(true);
}
}, 100);
...
}
不,不在这里工作。当你像我在例子中所展示的那样做的时候,它失败了吗?是的,在使用处理程序之前,该项将不可见..唯一的区别是我使用的是menu.findItem(id).setVisible(true);保存菜单实例后..可能不是bug,您只需确保刷新页面状态。