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

时间:2018-09-24 07:33:53

标签: android radio-group android-radiogroup

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

5 个答案:

答案 0 :(得分:2)

禁用每个按钮

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

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

您是否尝试过设置RadioGroupView clickable = false? 如果不起作用,则可以将“视图”覆盖整个RadioGroup布局,并将此视图设置为clickable = true。

答案 3 :(得分:0)

不能直接禁用RadiooGroup,我们必须遍历单选按钮并将其启用为false。

尝试一下:

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

希望这会有所帮助。

答案 4 :(得分:0)

Prithvi Bhola's answer的基础上,您可以使用Kotlin扩展功能,只需将其添加到Activity中即可:

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

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

mRadioGroup.setChildrenEnabled(false)