我有我不想用戶,直到一個特定的複選框我的應用程序中選擇可以選擇任何按鈕的單選按鈕組禁用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