Cómo deshabilitar un grupo de radio hasta que se marque la casilla de verificación

Tengo un grupo de radio que no quiero que el usuario pueda seleccionar ninguno de los botones hasta que se seleccione una casilla de verificación en mi aplicación. Si la casilla de verificación está desmarcada, esto deshabilita el grupo de radio. Cómo voy a hacer esto.

3 Solutions collect form web for “Cómo deshabilitar un grupo de radio hasta que se marque la casilla de verificación”

El verdadero truco es hacer un bucle a través de todos los niños ver (en este caso: CheckBox ) y llamar a su setEnabled(boolean)

Algo como esto debe hacer el truco:

 //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); } 

Puede utilizar onCheckedChangeListener en su CheckBox y utilizar el método setEnabled en su grupo de radio.

Mis mejores deseos, Tim

Tome las acciones de acuerdo con el estado de la casilla de verificación y configurar el grupo de radio en consecuencia. Suponiendo que tiene un grupo de radio denominado radiogroup, puede habilitar o deshabilitar el radiogroup por

Radiogroup.setEnabled (true);

Agregue un OnCheckedChangeListener () a su casilla de verificación.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.