Lau*_*ura 3 android android-button android-togglebutton material-components material-components-android
我使用的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
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果您需要听众,请检查@Laura 的答案。
否则你可以使用以下getCheckedButtonIds()方法:
List<Integer> ids = materialButtonToggleGroup.getCheckedButtonIds();
if (ids.size() == 0){
//Case unckecked
}
Run Code Online (Sandbox Code Playgroud)
如果您想要求单个选择,可以使用该app:singleSelection="true"属性:
<com.google.android.material.button.MaterialButtonToggleGroup
app:selectionRequired="true"
app:singleSelection="true"
..>
Run Code Online (Sandbox Code Playgroud)
此属性需要最低版本1.2.0-alpha03。
解决方案是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
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1727 次 |
| 最近记录: |