RadioGroup y RadioButton en Android – Ejemplos

En una aplicación móvil para Android que estoy desarrollando me vi en la necesidad de agregar algunos widgets de tipo RadioButton. Recordemos que estos widgets van dentro de un RadioGroup para que solamente se pueda seleccionar uno.

Android - RadioGroup y RadioButton con Java

Android – RadioGroup y RadioButton con Java

Veremos entonces cómo poner los RadioButton dentro de un RadioGroup y saber cuál elemento está seleccionado.

El layout con XML

Hay que poner un RadioGroup, asignarle un id y dentro de él poner todos los RadioButton que se necesiten.

Tip: puedes cambiar la orientación de los RadioButton usando la propiedad orientation del elemento RadioGroup. En este caso se usa la orientación horizontal.

Hay muchos atributos pero los que importan son:

  • id: indica el id del RadioGroup que más tarde vamos a usar
  • checkedButton: el id del RadioButton que va a estar seleccionado por defecto

Dentro del RadioGroup tenemos a 2 RadioButton. Cada uno tiene un id que igualmente vamos a necesitar más tarde.

Otro atributo importante es el de text pues es el texto que se muestra, y finalmente el weight o peso indica cuánto espacio disponible ocupan. En este caso los dos ocupan 1, por lo tanto ocupan lo mismo.

Obtener referencia desde Java

Después obtenemos todos los elementos dentro de Java. Definimos unas variables de instancia; pero primero importamos lo necesario:

Ahora sí definimos los RadioButton y el RadioGroup. En este ejemplo solamente usamos dos RadioButton dentro de un RadioGroup pero se pueden usar varios al mismo tiempo.

Listener cuando se selecciona un RadioButton

Como bonus, si quieres escuchar cuando un elemento es seleccionado, agrega un listener al RadioGroup:

Definimos un listener y sobrescribimos el método onCheckedChanged. En esa función nos pasan el id numérico del RadioButton, el cual podemos comparar obteniendo el id de los RadioButton que tenemos. Mira el ejemplo de abajo para ver cómo se hace.

Saber cuál opción está seleccionada

Finalmente, para saber cuál opción está seleccionada (sin el listener, por ejemplo, obtenerlo en el click de un botón ajeno al RadioGroup) podemos usar el método getCheckedRadioButtonId así:

Fíjate en que llamamos al método en el RadioGroup, y comparamos usando el id que tiene cada RadioButton.

Conclusión

La programación con Android es complicada en algunos sentidos, pero si los grandes diseñadores y programadores hicieron las cosas así no queda más que entenderlos, debieron tener razones suficientes para diseñar las cosas de esa manera.

Aprende más sobre Android y Java.

RadioGroup y RadioButton en Android – Ejemplos

Por parzibyte Tiempo de lectura: 2 min
0