如何部分禁用单击 Android 工具栏中的主页按钮?

How to partially disable click on home button in Android toolbar?

我已经实施 onOptionsItemSelected 来控制主页按钮:

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

现在,当我按下主页时,我会返回到上一个片段。我需要的是,如果 mode 为真,当我点击主页时,只触发 reset() 函数而不返回到上一个片段。如果它是假的,只需返回。我怎样才能做到这一点?

你应该return true 告诉父菜单项的点击被消耗了。

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