使用滑动选项卡功能隐藏FragmentActivity中一个片段中的MenuItem

时间:2015-05-25 09:29:28

标签: android android-fragments menuitem

我有一个带有三个滑动标签的FragmentActivity。我在操作栏中添加了一个REFRESH图标作为MenuItem,并通过覆盖onCreateOptionsMenu在FragmentActivity中夸大了该菜单。



@Override
 public boolean onCreateOptionsMenu(Menu menu) {
  // TODO Auto-generated method stub

  getMenuInflater().inflate(R.menu.live_stream_item, menu);
  refreshMenuItem = (MenuItem) menu.getItem(0);
  refreshMenuItem.setVisible(true);
  return super.onCreateOptionsMenu(menu);
 }




我已全局声明了refreshMenuItem,并希望在一个片段中设置Visibility GONE refreshMenuItem.setVisible(false),并使其在其他片段中可见。

我在一个片段中使用了setHasOptionsMenu,我想要刷新菜单项Invisible。



@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setHasOptionsMenu(false);
}




即使我尝试在该特定片段中的setUserVisibleHint中设置refreshMenuItem.setVisible(false)来隐藏此menuItem。

什么都不行.....请帮帮我。

1 个答案:

答案 0 :(得分:3)

在Fragment的onCreate方法和中设置setHasOptionsMenu(true) 覆盖片段中的 @Override void onPrepareOptionsMenu(Menu menu) { // if nav drawer is opened, hide the action items menu.findItem(R.id.xxx).setVisible(false); menu.findItem(R.id.yyy).setVisible(false); } 并设置相应菜单项的可见性。

.*