Home » Android » android – How to disable a RadioGroup until checkbox is checked

android – How to disable a RadioGroup until checkbox is checked

Posted by: admin April 23, 2020 Leave a comment


I have a radio group which I do not want to user to be able to select any of the buttons until a particular checkbox is selected within my app. If the checkbox is unticked then this disables the radio-group. How do I go about doing this.

How to&Answers:

The real trick is to loop through all children view (in this case: CheckBox) and call it’s setEnabled(boolean)

Something like this should do the trick:

//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() {

    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++){

//set default to false
for(int i = 0; i < rg1.getChildCount(); i++){


If you have just a few radio buttons, better way would be to setClickable(false) for all children



You can use the onCheckedChangeListener on your CheckBox and use the method setEnabled on your RadioGroup.

Best wishes,


RadioGroup cannot be disabled directly, we have to loop through the radio button and setEnabled as false.

// To disable the Radio Buttons of radio group.
    for (int i = 0; i < radioGroup.getChildCount(); i++) {


Kotlin Solution

for (index in 0..radio.childCount - 1)
    radio.getChildAt(index).isEnabled = false


Take actions according to the state of the checkbox and set the radiogroup accordingly.
Assuming that you have a radio-group named radiogroup you can enable or disable the radiogroup by


Add a OnCheckedChangeListener() to your checkbox.