奇怪:Android菜单图标只显示一个可见图标

奇怪: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(

我发现一些关于android菜单图标的奇怪行为。当我通过OnCreateOptions菜单添加图标时

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,您只需确保刷新页面状态。