我有我不想用户,直到一个特定的复选框我的应用程序中选择可以选择任何按钮的单选按钮组禁用RadioGroup中。如果该复选框取消选中是那么这将禁用无线电组。我该如何去做这件事。如何,直到复选框被选中
回答
真正的窍门是遍历所有儿童观看(在这种情况下:CheckBox
),并调用它的setEnabled(boolean)
像这样的东西应该做的伎俩:
//initialize the controls
final RadioGroup rg1 = (RadioGroup)findViewById(R.id.radioGroup1);
CheckBox ck1 = (CheckBox)findViewById(R.id.checkBox1);
//set setOnCheckedChangeListener()
ck1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton checkBox, boolean checked) {
//basically, since we will set enabled state to whatever state the checkbox is
//therefore, we will only have to setEnabled(checked)
for(int i = 0; i < rg1.getChildCount(); i++){
((RadioButton)rg1.getChildAt(i)).setEnabled(checked);
}
}
});
//set default to false
for(int i = 0; i < rg1.getChildCount(); i++){
((RadioButton)rg1.getChildAt(i)).setEnabled(false);
}
您可以使用您的CheckBox的onCheckedChangeListener和使用方法setEnabled您RadioGroup中。
最良好的祝愿, 添
根据复选框的状态采取行动,并设置相应的RadioGroup中。 假设您有一个名为radiogroup的无线电组,您可以通过
启用或禁用该radiogroup radiogroup.setEnabled(true);
添加OnCheckedChangeListener()到您的复选框。
radiogroup.setEnabled(true);不起作用 – Elchin 2012-08-08 10:29:28
必须禁用单个RadioButton项目。 – 2015-11-01 16:41:10
RadioGroup中不能直接禁止,我们通过单选按钮必须循环,并将其设置为启用假。
- 1. 如何使复选框被选中?
- 2. 禁用表单提交直到(两个)复选框被选中
- 3. 锁定按钮直到复选框被选中
- 4. 力复选框被选中
- 5. JS复选框被选中
- 6. 当复选框被选中
- 7. 当复选框被选中
- 8. 取消选中直放站所有复选框除外复选框被检查
- 9. jQuery的,如果复选框被选中diasble其他复选框
- 10. 如果复选框被选中
- 11. Coldfusion/Javascript如果复选框被选中
- 12. jQuery如果复选框被选中
- 13. setIntervall如果复选框被选中,JS
- 14. jQuery如果复选框被选中
- 15. jQuery:如果复选框被选中,toggleClass
- 16. 如果没有复选框被选中
- 17. UncheckAll /勾选复选框时,另一个复选框被选中
- 18. 如何找到所有的复选框被选中
- 19. jQuery:如何找到prevous复选框被选中
- 20. 如果一个复选框被选中,如何取消另一个复选框?
- 21. 如果复选框被选中,如何跳过消息框
- 22. 看看复选框是否被点击直到被点击
- 23. 如何检查复选框被选中或未选中
- 24. 选中第一个复选框,如果没有复选框被选中
- 25. 如何选中复选框?
- 26. 复选框取消选中不直观
- 27. 复选框在所有子复选框被选中时被选中,并且在未选中其中一个复选框时被取消选中
- 28. TimePicker如果复选框被勾选
- 29. 如果一个复选框列表中的特定复选框被选中
- 30. 如果复选框被选中添加类到它的标签
很高兴知道我所做的“肮脏的黑客攻击”似乎是实际的做法。 :d – WORMSS 2013-07-11 08:00:36