首页 > 解决方案 > Android Material Button Toggle Group - Check None Selected

问题描述

我正在使用MaterialButtonToggleGroup单选(一次只检查一个按钮)。如何检查是否没有检查任何按钮?

        toggleGroup?.addOnButtonCheckedListener { group, checkedId, isChecked ->
        if (isChecked) {
            when (checkedId) {
                R.id.first_materialButton -> {
                    // do something when selected
                }

                R.id.second_materialButton -> {
                    // do something when selected
                }
            }
        }
    }

标签: androidandroid-buttonmaterial-components-androidmaterial-componentsandroid-togglebutton

解决方案


解决方案是checkedButtonId从 else 分支上的组中获取isChecked,如果值为 -1,则不选择任何按钮。

toggleGroup?.addOnButtonCheckedListener { group, checkedId, isChecked ->
    if (isChecked) {
        when (checkedId) {
            R.id.first_materialButton -> {
                // do something when selected
            }

            R.id.second_materialButton -> {
                // do something when selected
            }
        }
    } else {
        if (group.checkedButtonId == View.NO_ID) {
           // do something when nothing selected
        }
    }
}

推荐阅读