Android 如何将无线组视图设置为不可单击

Android 如何将无线组视图设置为不可单击,android,radio-group,android-radiogroup,Android,Radio Group,Android Radiogroup,我想将我的RadioGroup视图设置为不可单击,以便用户无法单击按钮。我尝试了mRadioGroup.isActivated=false,但它对我的RadioGroup视图没有影响。有人给我提示吗?你试过设置radiogroup视图clickable=false吗? 如果不起作用,您可以将视图覆盖在整个放射组布局上,并将此视图设置为clickable=true 为每个按钮禁用 for (int i = 0; i < mRadioGroup.getChildCount(); i++) {

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

你试过设置
radiogroup视图clickable=false吗?

如果不起作用,您可以将视图覆盖在整个放射组布局上,并将此视图设置为clickable=true

为每个按钮禁用

for (int i = 0; i < mRadioGroup.getChildCount(); i++) {
    mRadioGroup.getChildAt(i).setEnabled(false);
}
for(int i=0;i
不能直接禁用RadioGroup,我们必须通过单选按钮循环,并将其设置为enabled为false

试试这个:

for(int i = 0; i < rg.getChildCount(); i++){
    ((RadioButton)rg.getChildAt(i)).setEnabled(false);
}
for(int i=0;i
希望这会有所帮助。

基于此,您可以使用Kotlin扩展功能,只需将其添加到
活动中即可:

fun RadioGroup.setChildrenEnabled(enabled: Boolean) {
    for (i in 0 until childCount) {
       getChildAt(i).isEnabled = enabled
    }
}
然后,只要您需要,就可以简单地禁用或启用
放射组中的所有
单选按钮

mRadioGroup.setChildrenEnabled(false)

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

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