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