使用滑动选项卡功能将 MenuItem 隐藏在 FragmentActivity 中的一个片段中
Hide MenuItem in one Fragment in FragmentActivity with swipe tabs functionality
我有一个带有三个滑动标签的 FragmentActivity。我在 actionbar 中添加了一个刷新图标作为 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。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(false);
}
我什至试图在该特定片段的 setUserVisibleHint 中设置 refreshMenuItem.setVisible(false) 以隐藏此菜单项。
没有任何效果.....请帮帮我。
在Fragment的onCreate方法中设置setHasOptionsMenu(true)和
覆盖片段中的 onPrepareOptionsMenu()
并设置相应菜单项的可见性。
@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);
}
我有一个带有三个滑动标签的 FragmentActivity。我在 actionbar 中添加了一个刷新图标作为 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。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(false);
}
我什至试图在该特定片段的 setUserVisibleHint 中设置 refreshMenuItem.setVisible(false) 以隐藏此菜单项。
没有任何效果.....请帮帮我。
在Fragment的onCreate方法中设置setHasOptionsMenu(true)和
覆盖片段中的 onPrepareOptionsMenu()
并设置相应菜单项的可见性。
@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);
}