如何识别哪个菜单项被禁用?
How to Recognise which menuItem is disabled?
嘿嘿,
我实现了菜单,其中有两个菜单项,当我点击第一个菜单项时,另一个菜单项被禁用,反之亦然。
当我点击后退按钮导航图标时,我必须检查第一项是否被禁用,如果禁用,然后启用第二项,如果没有则 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);
}
}
});
in onCreateOptionsMenu()
将 menu
存储到本地 class 字段中,然后检查某个菜单项是否 enabled/disabled 使用 isEnabled()
MenuItem item = menu.findItem(R.id.item_id);
if (item.isEnabled()) {
// enabled
} else {
// not enabled
}
或者您可以使用菜单项中的项目顺序来获取特定项目
MenuItem item = menu.getItem(0);
嘿嘿,
我实现了菜单,其中有两个菜单项,当我点击第一个菜单项时,另一个菜单项被禁用,反之亦然。
当我点击后退按钮导航图标时,我必须检查第一项是否被禁用,如果禁用,然后启用第二项,如果没有则 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);
}
}
});
in onCreateOptionsMenu()
将 menu
存储到本地 class 字段中,然后检查某个菜单项是否 enabled/disabled 使用 isEnabled()
MenuItem item = menu.findItem(R.id.item_id);
if (item.isEnabled()) {
// enabled
} else {
// not enabled
}
或者您可以使用菜单项中的项目顺序来获取特定项目
MenuItem item = menu.getItem(0);