Android材质按钮切换组-选中“无”
我正在使用带有单个选择的Android材质按钮切换组-选中“无”,android,android-button,material-components-android,material-components,android-togglebutton,Android,Android Button,Material Components Android,Material Components,Android Togglebutton,我正在使用带有单个选择的MaterialButtonToggleGroup(一次只选中一个按钮)。如何检查是否未选中任何按钮 toggleGroup?.addOnButtonCheckedListener { group, checkedId, isChecked -> if (isChecked) { when (checkedId) { R.id.first_materialButton ->
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
}
}
}
}
解决方案是从else分支上的组中获取
isChecked
的checkedButonid
,如果该值为-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
}
}
}
如果需要侦听器,请检查 否则,您可以使用以下方法:
List<Integer> ids = materialButtonToggleGroup.getCheckedButtonIds();
if (ids.size() == 0){
//Case unckecked
}
此属性至少需要版本1.2.0-alpha03
<com.google.android.material.button.MaterialButtonToggleGroup
app:selectionRequired="true"
app:singleSelection="true"
..>