Es posible poner un TextView dentro de un grupo de radio. Pero, ¿es una buena práctica?
Qué intento lograr: Cuando el usuario hace clic en un RadioButton específico, un TextView debe aparecer inmediatamente debajo del RadioButton seleccionado.
Mi solución hasta ahora: Código-sabio, poner un TextView dentro del RadioGroup y fijar su visibilidad inicial a "invisible". A continuación, cuando se hace clic en un RadioButton específico, defina la visibilidad de TextView oculta como "visible". Cuando el RadioButton no está seleccionado, oculte el TextView. La configuración de la visibilidad de TextView se realiza dentro de una clase de actividad que he definido.
- Comportamiento inesperado de RadioButton
- El niño especificado ya tiene un padre
- ¿Cómo desmarcar los botones de radio (que están en radiogroup) en android?
- Grupo de radio onclick evento no disparar, ¿cómo puedo saber cuál es seleccionado?
- ANDROID - ExpandableListView
Por lo tanto, en mi código de ejemplo XML a continuación, cuando se selecciona "radio_button_one", aparecerá "my_sometimes_hidden_textview". Por el contrario, cuando se desmarca "radio_button_one" (o no se selecciona), "my_sometimes_hidden_textview" debería tener su visibilidad establecida en "invisible".
Pregunta: ¿Es válido el TextView dentro del Grupo de Radio (o buena práctica)? Si no, ¿hay una mejor manera de hacer lo que estoy tratando de lograr? Soy relativamente nuevo en el desarrollo de Android, así que si hay algo en la documentación oficial de Android que me perdí, por favor, señálelo. Gracias por la visión de antemano.
Main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:background="#FFFFFF" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:id="@+id/my_always_visible_textview" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="This textview is always visible" /> <RadioGroup android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" android:padding="10px"> <RadioButton android:id="@+id/radio_button_one" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Radio Button 1" /> <TextView android:id="@+id/my_sometimes_hidden_textview" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="This should only appear when radio_button_one is selected" /> <RadioButton android:id="@+id/radio_button_two" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Radio Button 2" /> </RadioGroup> </LinearLayout>
Gracias por las respuestas, CommonsWare y Macarse.
CommonsWare: Gracias por aclarar que un RadioGroup es un tipo de LinearLayout. Mis instintos lucharon contra la adición de TextView porque la mayoría de los ejemplos de RadioGroup que he encontrado hasta la fecha no muestran elementos distintos de RadioButtons presentes. Por lo tanto, pensé que sólo RadioButtons debería ir en RadioGroups.
Macarse:
-
Traté de colocar el TextView fuera de RadioGroup, tal como describí. Su solución funciona, siempre y cuando un programador no necesita que TextArea aparezca inmediatamente debajo de un RadioButton específico. No he sido capaz de averiguar cómo colocar el TextArea inmediatamente debajo del RadioButton específico sin colocar explícitamente el TextView dentro del RadioGroup.
-
Gracias por el enlace ViewStub. De hecho, esta puede ser la mejor manera de lograr lo que estoy tratando de hacer en general. Junto con el TextView de que hablé en mi pregunta, también quise agregar un botón para aparecer al lado del TextView solamente cuando un RadioButton específico fue seleccionado.
- Puede cambiar el tipo de fuente de un Edittext, un botón de radio y un CheckBox en Android
- Desmarcando un botón de radio
- Botón de radio de Android
- Android: colocando los botones de radio horizontalmente
- Android: Cómo cambiar el tamaño del RadioButton
- Quitar RadioButton Icono de Android
- Hacer que mis botones de radio se seleccionen en Android
- Android 4.2 RadioButton android: drawableLeft error?
¿Es válido el TextView dentro del Grupo de Radio (o buena práctica)?
RadioGroup
es sólo un LinearLayout
que pasa a manejar también las reglas de exclusión RadioButton
(es decir, "sólo puede haber una … marcada, que es"). No veo ningún problema particular en tener un TextView
dentro de un RadioGroup
.
Dos opciones:
- Haciendo algo similar a lo que usted dijo, pero no necesita estar dentro de
RadioGroup
. Hacer visibleTextView
cuando el usuario hace clic en elRadioButton
. - Tal vez usted puede hacer algo con una
ViewStub
. Compruebe este enlace.
- ¿Cómo obtener información sobre el toque de RecyclerView?
- Icono de Android Launcher Rincón de esquina redondeado Radii