2012-04-05 25 views
7

amigos. Estoy teniendo un problema realmente tonto con Radiogroup. Sin embargo, no puedo encontrar una solución.android radiobutton check after clearing check issue

Intentaré describir cómo reproducir mi problema: Tengo un grupo de botones de radio y dos botones dentro. Selecciono uno de ellos, digamos el primero. Luego borro la selección llamando al radioGroup.clearCheck() Después de intentar seleccionar el primer botón, pero no lo estoy verificando. Si marque 2do, se verifica normalmente. Si reviso primero después de verificar el segundo, también funciona normalmente.

Esto puede parecer una locura, pero no lo puedo arreglar. Por favor, ayúdenme, gracias de antemano.

utilizo

@Override 
protected void init() { 
    View view = View 
      .inflate(getContext(), R.layout.wo_task_yn_result, null); 

    performed = (RadioButton) view.findViewById(R.id.yn_yes); 
    notPerformed = (RadioButton) view.findViewById(R.id.yn_no); 

    radioGroup = (RadioGroup) view.findViewById(R.id.yn_options); 

    performed.setOnCheckedChangeListener(new OnCheckedChangeListener() { 

     @Override 
     public void onCheckedChanged(final CompoundButton buttonView, 
       final boolean isChecked) { 
      Log.d(YES, "verify"); 
      if (isChecked) { 
       Log.d(YES, "checked"); 
       result = YES; 
      } 
     } 
    }); 

    notPerformed.setOnCheckedChangeListener(new OnCheckedChangeListener() { 

     @Override 
     public void onCheckedChanged(final CompoundButton buttonView, 
       final boolean isChecked) { 
      Log.d(NO, "verify"); 
      if (isChecked) { 
       Log.d(NO, "checked"); 
       result = NO; 
      } 
     } 
    }); 

    addView(view); 
} 

Para crear botones y

@Override 
public void clear() { 
    radioGroup.clearCheck(); 

    result = ""; 
} 

para borrarlos

+0

sería mejor si mostraras el código para los botones – Akhil

+0

Ok, he actualizado mis preguntas. Espero que este código sea suficiente. – Orest

+0

No importa, encontré la solución. – Orest

Respuesta

0

si quieres desactivar el botón de radio probar este método:

@Override 
public void clear() { 

performed.setChecked(false); 

nonperformed.setChecked(false); 

} 
16

que tenían el mismo problema. No se pudo seleccionar el primer radioButton en el grupo, pero podría seleccionar los otros dos. Y después de seleccionar el segundo radioButton, pude seleccionar el primero también. Lo resolví haciendo un solo radioGroup.clearCheck() en lugar de radioButtonA.setChecked (falso)

+0

Utilicé radioGroup.removeAllViews() para eliminar toda la vista. También creo que todo el elemento marcado será claro. Pero no es trabajo Pero radioGrupo.clearCheck() funciona como un amuleto. Muchas gracias –