【问题标题】:Android Material Button Toggle Group - Check None SelectedAndroid Material Button Toggle Group - Check None Selected
【发布时间】:2020-04-02 08:06:08
【问题描述】:

我使用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
                }
            }
        }
    }

【问题讨论】:

    标签: android android-button material-components-android material-components android-togglebutton


    【解决方案1】:

    解决方案是从 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
            }
        }
    }
    

    【讨论】:

      【解决方案2】:

      如果您需要监听器,请查看@Laura's answer

      否则你可以使用 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

      【讨论】:

        猜你喜欢
        • 2022-01-13
        • 2021-06-02
        • 2018-10-01
        • 1970-01-01
        • 2019-01-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-08-15
        相关资源
        最近更新 更多