首页 > 解决方案 > 如何在 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()功能而不返回上一个片段。如果它是错误的,只需返回。我怎样才能做到这一点?

标签: javaandroidkotlinandroid-toolbarandroid-menu

解决方案


您应该回过头true来告诉父级,单击菜单项已被消耗。

override fun onOptionsItemSelected(item: MenuItem): Boolean {
    when (item.itemId) {
        android.R.id.home -> {
            if (mode) {
                reset()
                return true
            }
        }
    }
    return super.onOptionsItemSelected(item)
}

推荐阅读