Android Material 按钮切换组 - 检查 None 已选择
Android Material Button Toggle Group - Check None Selected
我正在使用 MaterialButtonToggleGroup
单选(一次只选中一个按钮)。如何检查按钮的 none 是否被选中?
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
}
}
}
}
解决方案是从 isChecked
的 else 分支上的组中获取 checkedButtonId
,如果它的值为 -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
}
}
}
如果您需要监听器,请检查 。
否则你可以使用getCheckedButtonIds()
方法:
List<Integer> ids = materialButtonToggleGroup.getCheckedButtonIds();
if (ids.size() == 0){
//Case unckecked
}
如果您需要单选,您可以使用 app:singleSelection="true"
属性:
<com.google.android.material.button.MaterialButtonToggleGroup
app:selectionRequired="true"
app:singleSelection="true"
..>
此属性至少需要 1.2.0-alpha03
.
版本
我正在使用 MaterialButtonToggleGroup
单选(一次只选中一个按钮)。如何检查按钮的 none 是否被选中?
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
}
}
}
}
解决方案是从 isChecked
的 else 分支上的组中获取 checkedButtonId
,如果它的值为 -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
}
}
}
如果您需要监听器,请检查
否则你可以使用getCheckedButtonIds()
方法:
List<Integer> ids = materialButtonToggleGroup.getCheckedButtonIds();
if (ids.size() == 0){
//Case unckecked
}
如果您需要单选,您可以使用 app:singleSelection="true"
属性:
<com.google.android.material.button.MaterialButtonToggleGroup
app:selectionRequired="true"
app:singleSelection="true"
..>
此属性至少需要 1.2.0-alpha03
.