我试图隐藏OptionsMenu依赖于同一活动中片段之间的导航: -
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
this.menu = menu;
getMenuInflater().inflate(R.menu.result, menu);
return true;
}
我依靠片段位置隐藏它,如:
if (newStepPosition == 0) {
if (menu != null){
menu.setGroupVisible(R.id.resultGroup, false);
}
}
if (newStepPosition == 1) {
if (menu != null){
menu.setGroupVisible(R.id.resultGroup, true);
}
}
我的问题是,我第一次创建活动时必须看到optionMenu然后隐藏并显示线程工作,如何避免?
我需要隐藏onCreat()
中的optionMenu,但它不起作用。
答案 0 :(得分:1)
您无法隐藏onCreate
方法的菜单,因为它还没有膨胀。
尝试使用:
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
menu.clear();
// do what you want
return super.onPrepareOptionsMenu(menu);
}
否则,请将您的逻辑放在onCreateOptionsMenu
方法中,并在需要刷新内容时调用invalidateOptionsMenu()
。
答案 1 :(得分:0)
我在onCreateOptionsMenu中完成了这一点,之后外观逻辑完美地工作。
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
this.menu = menu;
getMenuInflater().inflate(R.menu.result, menu);
if (menu != null){
menu.setGroupVisible(R.id.resultGroup, false);
}
return true;
}