java - 如何在 Android 工具栏中部分禁用单击主页按钮?
问题描述
我已经实现onOptionsItemSelected
了对主页按钮的控制:
override fun onOptionsItemSelected(item: MenuItem): Boolean {
when (item.itemId) {
android.R.id.home -> {
if (mode) {
reset()
}
}
}
return super.onOptionsItemSelected(item)
}
现在,当我按下 home 键时,我会回到上一个片段。我需要的是,如果mode
是真的,当我点击主页时,只触发该reset()
功能而不返回上一个片段。如果它是错误的,只需返回。我怎样才能做到这一点?
解决方案
您应该回过头true
来告诉父级,单击菜单项已被消耗。
override fun onOptionsItemSelected(item: MenuItem): Boolean {
when (item.itemId) {
android.R.id.home -> {
if (mode) {
reset()
return true
}
}
}
return super.onOptionsItemSelected(item)
}
推荐阅读
- javascript - 在 express 中使用 res.sendFile() 时无法设置 cookie
- android - 房间数据库:多个删除查询崩溃应用程序
- node.js - jest localStorage 的实现从何而来?
- php - 如何在 Symfony 3 的不同页面上的不同表单之间传递数据/信息?
- wordpress - WordPress中“按下购物按钮后”的钩子
- javascript - 在 ReactJs 中更新数组中的嵌套对象
- java - 在Java的主窗口上画线
- sql-server - 连接多个表会产生重复
- python - Gunicorn 20 未能在“索引”中找到应用程序对象“app.server”
- python - ValueError:检查目标时出错:预期 dot_1 的形状为 (1,),但得到的数组的形状为 (924,)