【问题标题】:How to set Radio Group View to not clickable如何将无线电组视图设置为不可点击
【发布时间】:2019-02-27 16:26:31
【问题描述】:

我想将我的 RadioGroupView 设置为不可点击,以便用户无法点击按钮。我试过mRadioGroup.isActivated = false,但它对我的 RadioGroup 视图没有影响。有人给我提示吗?

【问题讨论】:

    标签: android radio-group android-radiogroup


    【解决方案1】:

    禁用每个按钮

    for (int i = 0; i < mRadioGroup.getChildCount(); i++) {
        mRadioGroup.getChildAt(i).setEnabled(false);
    }
    

    【讨论】:

      【解决方案2】:

      你试过设置RadioGroupView clickable = false? 如果它不起作用,您可以放置​​一个视图覆盖整个 RadioGroup 布局并将此视图设置为可点击 = true。

      【讨论】:

        【解决方案3】:

        为了禁用单选组内的单选按钮,您需要在radioButton1.setEnabled(false) 方法的帮助下手动禁用每个按钮。 但是更好的方法是在 getChildAt() 方法的帮助下循环遍历 mRadioGroup 中的单选按钮

        for (int i = 0; i < mRadioGroup.getChildCount(); i++){
         mRadioGroup.getChildAt(i).setEnabled(false); 
        }
        

        【讨论】:

          【解决方案4】:

          Prithvi Bhola's answer 的基础上,您可以使用 Kotlin 扩展函数,只需将其添加到 Activity

          fun RadioGroup.setChildrenEnabled(enabled: Boolean) {
              for (i in 0 until childCount) {
                 getChildAt(i).isEnabled = enabled
              }
          }
          

          然后,只要您需要,您可以简单地禁用或启用RadioGroup 中的所有RadioButtons

          mRadioGroup.setChildrenEnabled(false)
          

          【讨论】:

            【解决方案5】:

            RadioGroup 不能直接禁用,我们必须循环遍历单选按钮并将其设置为 false。

            试试这个:

            for(int i = 0; i < rg.getChildCount(); i++){
                ((RadioButton)rg.getChildAt(i)).setEnabled(false);
            }
            

            希望这会有所帮助。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2015-12-15
              • 2012-05-28
              • 2023-03-19
              • 1970-01-01
              • 2013-07-30
              • 2012-05-16
              • 2021-07-17
              相关资源
              最近更新 更多