如何识别禁用了哪个menuitem?

oaxa6hgo  于 2021-06-29  发布在  Java
关注(0)|答案(1)|浏览(426)

嘿,
我已经实现了菜单,其中有两个菜单项,当我单击第一个菜单项时,另一个菜单项将被禁用,反之亦然。
当我点击后退按钮导航图标时,我必须检查第一个项目是否被禁用,如果被禁用,则打开第二个项目,如果没有,则打开第二个项目 onBackPressed(); 所以,我不知道如何识别哪个项目被禁用。
请快帮帮我。
有一些代码引用
这是我目前的尝试,它也有一些错误。请帮助我找到另一种方法或修复此代码。

toolbar.setNavigationOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (menu.getItem(0).getActionView().getVisibility() == View.VISIBLE) {
                    onBackPressed();
                } else {
                    menu.getItem(1).setEnabled(false);
                    menu.getItem(1).setVisible(false);

                    menu.getItem(0).setEnabled(true);
                    menu.getItem(0).setVisible(true);
                }
            }
        });
yrwegjxp

yrwegjxp1#

onCreateOptionsMenu() 存储 menu 输入本地类字段,然后检查某个菜单项是否已启用/禁用 isEnabled() ```
MenuItem item = menu.findItem(R.id.item_id);
if (item.isEnabled()) {
// enabled
} else {
// not enabled
}

或者您可以使用菜单项中项目的顺序来获取特定项目

MenuItem item = menu.getItem(0);

相关问题