在操作栏上实现选项菜单的问题

时间:2013-12-17 10:58:08

标签: android android-fragments android-actionbar android-optionsmenu

早上好! 当我尝试正确显示操作栏上的选项菜单时,我遇到了一些麻烦。 这就是我所拥有的: 主要活动来自ActionBarActivity。我宣布了3个片段:A,B和C. 在B里面,我宣布了两个片段,B1和B2。 B2从SUpporMapFragment扩展。选择的B片段导航是TAB_NAVIGATION。 A和C都有标准导航。

B2片段:

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    super.onCreateOptionsMenu(menu, inflater);
    inflater.inflate(R.menu.menu, menu);
}

问题是当菜单出现时,菜单会出现在A和C片段中。在片段A和C上我都是下一个:

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

行为是下一个。当我运行我的应用程序时,A和C片段显示选项菜单。当我去B时,如果我在B1并返回A或C,菜单会消失。如果我转到B2并返回A或C,则会显示菜单。我已经对它进行了重新填充,当我在B2片段中点击A或C片段后,片段A或C从B2片段调用onCreateOptionsMenu。任何帮助都会很棒!

1 个答案:

答案 0 :(得分:0)

使用控制变量解决。我在主要活动中调用了onCreateOptionsMenu:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    super.onCreateOptionsMenu(menu);
    if (posicionFragmento==1 && Listado_tiendas_mapas_fragment.seleccionFragmentoMenu){
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.menu, menu);
    }       
    return true;
}