我有一个活动有3个片段(不是制表符)。我有几个动作栏项目,我想在存在某个片段时隐藏它们。我怎么能这样做?
答案 0 :(得分:4)
@Override
public void onPrepareOptionsMenu(Menu menu) {
super.onPrepareOptionsMenu(menu);
MenuItem item3 = menu.findItem(R.id.ID OF MENU);
item3.setVisible(false);
}
答案 1 :(得分:3)
如果您想隐藏所有菜单项,请执行以下操作:
@Override
public void onAttach(final Activity activity) {
super.onAttach(activity);
setHasOptionsMenu(true);
}
@Override
public void onPrepareOptionsMenu(final Menu menu) {
super.onPrepareOptionsMenu(menu);
menu.clear();//This removes all menu items (no need to know the id of each of them)
}
答案 2 :(得分:1)
我对你的帖子的理解是 ::
我的首选方法 :: You can also find the menu items which you dont want to display in your current fragment and set their visibility
MenuItem item = menu.findItem(<id>);
item.setVisible(<true/false>);
前 ::
MenuItem item1 = menu.findItem(R.id.searchID);
item1.setVisible(false);