java - 如何识别哪个 menuItem 被禁用?
问题描述
嘿嘿,
我已经实现了菜单,其中有两个菜单项,当我单击第一项时,另一个菜单项被禁用,反之亦然。
当我点击后退按钮导航图标时,我必须检查第一个项目是否被禁用,如果被禁用,然后启用第二个项目,如果没有,那么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);
}
}
});
解决方案
onCreateOptionsMenu()
存储到本地类字段中menu
,然后检查某个菜单项是否启用/禁用使用isEnabled()
MenuItem item = menu.findItem(R.id.item_id);
if (item.isEnabled()) {
// enabled
} else {
// not enabled
}
或者您可以使用菜单项之间的项目顺序来获取特定项目
MenuItem item = menu.getItem(0);
推荐阅读
- angular - 当用户访问 Ionic 4 中的特定路线时重定向用户
- android-studio - 如何在 android studio 3.3 中查找所有预览屏幕尺寸
- mysql - 从 python mysql 连接器连接到 Amazon RDS mysql 时出现 SSL 连接错误
- reactjs - 不确定是什么在我的 ReactJS 项目中产生了这个输入错误
- java - Telegram-bot Java 中的 ScheduledThreadPoolExecutor
- google-apps-script - 如何锁定 Google 表格中的当前屏幕视图(使用 App 脚本或其他)?
- python - 将文件名作为 python 函数传入
- php - 在自定义网站上显示 Zabbix 图表
- c++ - 在素数c ++程序中不断出现浮点异常
- c# - 部署 UWP 应用程序时 SQL 错误 25 但调试时没有?