禁用菜单按钮?

7

我有一些自定义菜单选项,如果屏幕上的按钮被点击,我想要禁用它弹出。

我考虑使用以下代码,但它不起作用:

@Override
 public boolean onPrepareOptionsMenu (Menu menu) {
     if (Schedule)
         menu.getItem(1).setVisible(View.GONE);
     return true;
 }

有没有办法防止菜单按钮执行任何操作?谢谢。
1个回答

15

根据文档:

You must return true for the menu to be displayed; if you return false it will not be shown.

那么我猜这个会起作用:

@Override
 public boolean onPrepareOptionsMenu (Menu menu) {
     .... Code .....
     return !Schedule;
 }

假设您希望在 Schedule 等于 false 时显示菜单。


2
换句话说,只需返回“false”以禁用菜单。对我有用。 - Stephen Hosking
是的,但我当时是在回答他的问题。通常有一个条件可以禁用它,因为如果您始终希望禁用它,则根本不会创建它。 - DeeV
这对我来说并没有立刻奏效,但是这个链接解决了我的问题:https://dev59.com/ZFrUa4cB1Zd3GeqPhTDZ#9546316 - Brett

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接