如何将无线电组视图设置为不可点击

How to set Radio Group View to not clickable

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

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

禁用每个按钮

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

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

试试这个:

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

希望这会有所帮助。

的基础上,您可以使用 Kotlin 扩展函数,只需将其添加到 Activity:

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

然后,只要您需要,您可以简单地禁用或启用 RadioGroup:

中的所有 RadioButtons
mRadioGroup.setChildrenEnabled(false)

为了禁用单选组内的单选按钮,您需要借助 radioButton1.setEnabled(false) 方法手动禁用每个按钮。 然而,更好的方法是在 getChildAt() 方法

的帮助下循环遍历 mRadioGroup 中的单选按钮
for (int i = 0; i < mRadioGroup.getChildCount(); i++){
 mRadioGroup.getChildAt(i).setEnabled(false); 
}