Android Группа переключателей кнопки материала - проверка не выбрана - PullRequest
1 голос
/ 02 апреля 2020

Я использую 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
                }
            }
        }
    }

1 Ответ

1 голос
/ 02 апреля 2020

Решение состоит в том, чтобы получить 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
        }
    }
}
...