我一直不成功试图隐藏或在一个片段禁用
。 溢出菜单
我已经尝试设置 setHasOptionsMenu(假)
没有成功,然后我试图 setHasOptionsMenu(真)
和试图用像下面一个空的菜单充气。
尝试都没有为我工作。
我如何隐藏或一个片段禁用选项/溢出菜单仅??
在此先感谢!
片段
@覆盖公共无效的onCreate(捆绑savedInstanceState){ super.onCreate(savedInstanceState); setHasOptionsMenu(真);}@覆盖公共无效onCreateOptionsMenu(菜单菜单,MenuInflater气筒){ //充气菜单;如果是present这增加了项目操作栏。 inflater.inflate(R.menu.empty,菜单); super.onCreateOptionsMenu(菜单,充气器);}
解决方案
想出如何做到这一点。只需要设置我不希望看到的菜单项。就我而言,我把所有的人都看不到,而且完全删除溢出菜单。
另外别忘了你有 setHasOptionsMenu(真)
在的onCreate
,所以它知道叫 onCreateOptionsMenu
@覆盖公共无效onCreateOptionsMenu(菜单菜单,MenuInflater气筒){ 如果(菜单!= NULL){ menu.findItem(R.id.menu_settings).setVisible(假); menu.findItem(R.id.menu_leave_feedback).setVisible(假); menu.findItem(R.id.menu_shop).setVisible(假); }}
I have been unsuccessful in trying to hide or disable the overflow menu
in one fragment
.
I have tried setting setHasOptionsMenu(false)
with no success, and then I tried setHasOptionsMenu(true)
and tried inflating with an empty menu like below.
Both attempts do not work for me.
How do I hide or disable the options/overflow menu in one fragment only??
Thanks in advance!
Fragment
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
// Inflate the menu; this adds items to the action bar if it is present.
inflater.inflate(R.menu.empty, menu);
super.onCreateOptionsMenu(menu, inflater);
}
解决方案
Figured out how to do it. Just need to set the menu items I don't want visible. In my case, I set all of them not visible and that removed the overflow menu entirely.
Also don't forget you have to setHasOptionsMenu(true)
in your onCreate
so it knows to call onCreateOptionsMenu
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
if (menu != null) {
menu.findItem(R.id.menu_settings).setVisible(false);
menu.findItem(R.id.menu_leave_feedback).setVisible(false);
menu.findItem(R.id.menu_shop).setVisible(false);
}
}