我试图在一个 fragment
中隐藏或禁用溢出菜单
,但没有成功。
我尝试设置 setHasOptionsMenu(false)
但没有成功,然后我尝试了 setHasOptionsMenu(true)
并尝试使用如下所示的空菜单进行充气。
这两种尝试都不适合我。
如何仅在一个 fragment 中隐藏或禁用选项/溢出菜单?
提前致谢!
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);
}
最佳答案
想出如何去做。只需要设置我不想看到的菜单项。在我的例子中,我将它们全部设置为不可见,并且完全删除了溢出菜单。
另外不要忘记您必须在 onCreate
中设置 setHasOptionsMenu(true)
以便它知道调用 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);
}
}
关于android - 试图在 fragment 中隐藏/禁用整个菜单(溢出),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24538422/