Android RadioButton no puede desarmar usando el método setChecked (falso)

Si configuro un botón de radio para ser seleccionado en la primera vez, funciona bien. Pero si no lo selecciono llamando ((RadioButton) findViewById (R.id.ID)). SetChecked (false); Luego, más tarde, incluso si intento hacer que se seleccione llamando a setChecked (true) no funcionará a menos que el usuario lo seleccione desde la pantalla.

¿Alguien se ha topado con esto? O es sólo yo?

if(Val != null){ if( ((RadioButton) findViewById(R.id.ID1)).getText().toString().trim().equals(Val)) ((RadioButton) findViewById(R.id.ID1)).setChecked(true); else if(((RadioButton) findViewById(R.id.ID2)).getText().toString().trim().equals(Val)) ((RadioButton) findViewById(R.id.ID2)).setChecked(true); } else { ((RadioButton) findViewById(R.id.ID1)).setChecked(false); ((RadioButton) findViewById(R.id.ID2)).setChecked(false); } 

Si la parte else se ejecuta al menos una vez, entonces todo se desordena. Cuando paso paso a mi depurador, puedo ver la ejecución va en la ruta correcta y la configuración a la verdad. Se está ejecutando sólo una vez, he comprobado que. Y no lo estoy restableciendo de nuevo a falso en cualquier otra parte del código.

Encontré la solución.

No es posible desmarcar un botón de radio en particular. Sólo puede configurar el otro elemento como verdadero.

Por lo tanto, para borrar todos los elementos clearcheck() , debe llamar al método clearcheck() en el grupo de radio.

Así que mi otra parte es

  else { ((RadioGroup) findViewById(R.id.ID0)).clearCheck(); } 

Tome un botón de radio invisible y compruébelo. Todos los demás botones de radio del grupo se desmarcan automáticamente.

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