隐藏操作栏中的菜单选项

时间:2013-12-02 15:40:02

标签: android android-actionbar

我有一个活动有3个片段(不是制表符)。我有几个动作栏项目,我想在存在某个片段时隐藏它们。我怎么能这样做?

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)

我对你的帖子的理解是 ::

  1. 你有3个片段
  2. 3个片段有3组不同的操作栏按钮

  3. 我的首选方法 :: 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);
    

    您还可以使用this post来解决此问题的其他方法