La clase RadioGroup del lenguaje de programación Kotlin se usa para crear un contenedor que contiene múltiples RadioButtons . La clase RadioGroup es beneficiosa para colocar un conjunto de botones de opción dentro de ella porque esta clase agrega la función de ámbito de exclusión múltiple a los botones de opción. Esta característica asegura que el usuario podrá marcar solo uno de los botones de radio entre todos los que pertenecen a una clase RadioGroup. Si el usuario marca otro botón de opción, la clase RadioGroup desmarca el botón de opción previamente marcado. Esta característica es muy importante cuando el desarrollador quiere tener solo una respuesta para seleccionar, como preguntar el género de un usuario.
La jerarquía de clases de la clase RadioGroup en Kotlin
Atributos XML del widget RadioGroup
Atributos XML | Descripción |
---|---|
Android: identificación | Para identificar de forma única el RadioGroup |
android:fondo | Para establecer un color de fondo |
Android: al hacer clic | Un método para realizar cierta acción cuando se hace clic en RadioGroup |
Android: al hacer clic | Es un nombre del método para invocar cuando se hace clic en el botón de opción. |
Android: visibilidad | Se utiliza para controlar la visibilidad, es decir, visible, invisible o desaparecido |
Android: diseño_ancho | Para establecer el ancho |
android:layout_height | Para establecer la altura |
android:contentDescripción | Para dar una breve descripción de la vista. |
Android: botón marcado | Almacena la identificación del botón de radio secundario que debe verificarse de forma predeterminada dentro de este grupo de radio |
Android: orientación | Para fijar la constante de orientación de la vista |
Ejemplo
En este ejemplo, se cubrirá la demostración paso a paso de la creación de un RadioGroup, que consta de 5 elementos secundarios RadioButton que le piden al usuario que elija un curso ofrecido por GeeksforGeeks. Cuando el usuario marca uno de los botones de radio y hace clic en el botón Enviar, aparece un mensaje de brindis que muestra la opción seleccionada.
Nota : Los siguientes pasos se realizan en Android Studio versión 4.0
Crear nuevo proyecto
- Haga clic en Archivo, luego en Nuevo => Nuevo proyecto.
- Elija «Actividad vacía» para la plantilla del proyecto.
- Seleccione el idioma como Kotlin.
- Seleccione el SDK mínimo según su necesidad.
Abra el archivo activity_main.xml
A continuación se muestra el código para activity_main.xml
que el archivo agregue un RadioGroup y sus 5 hijos RadioButton. También se agrega un botón de envío normal para aceptar y mostrar la respuesta seleccionada por el usuario.
<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#168BC34A" tools:context=".MainActivity"> <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:fontFamily="@font/roboto" android:text="@string/Heading" android:textAlignment="center" android:textColor="@android:color/holo_green_dark" android:textSize="36sp" android:textStyle="bold" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.19" /> <RadioGroup android:id="@+id/radioGroup1" android:layout_width="0dp" android:layout_height="wrap_content" android:background="#024CAF50" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/textView" app:layout_constraintVertical_bias="0.24000001"> <RadioButton android:id="@+id/radioButton1" android:layout_width="match_parent" android:layout_height="wrap_content" android:fontFamily="@font/roboto" android:text="@string/RadioButton1" android:textSize="24sp" /> <RadioButton android:id="@+id/radioButton2" android:layout_width="match_parent" android:layout_height="wrap_content" android:fontFamily="@font/roboto" android:text="@string/radioButton2" android:textSize="24sp" /> <RadioButton android:id="@+id/radioButton3" android:layout_width="match_parent" android:layout_height="wrap_content" android:fontFamily="@font/roboto" android:text="@string/radioButton3" android:textSize="24sp" /> <RadioButton android:id="@+id/radioButton4" android:layout_width="match_parent" android:layout_height="wrap_content" android:fontFamily="@font/roboto" android:text="@string/radioButton4" android:textSize="24sp" /> <RadioButton android:id="@+id/radioButton5" android:layout_width="match_parent" android:layout_height="wrap_content" android:fontFamily="@font/roboto" android:text="@string/radioButton5" android:textSize="24sp" /> </RadioGroup> <Button android:id="@+id/submitButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="#AB4CAF50" android:text="@string/submit_Button" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/radioGroup1" app:layout_constraintVertical_bias="0.17000002" /> </androidx.constraintlayout.widget.ConstraintLayout>
Abra el archivo MainActivity.kt
A continuación se muestra el código para MainActivity.kt
que el archivo acceda al widget RadioGroup en el archivo kotlin y muestre un mensaje adecuado cada vez que el usuario seleccione un botón de opción.
package com.example.sampleproject import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.view.View import android.widget.Button import android.widget.RadioButton import android.widget.RadioGroup import android.widget.Toast import kotlinx.android.synthetic.main.activity_main.* class MainActivity : AppCompatActivity() { var radioGroup: RadioGroup? = null lateinit var radioButton: RadioButton private lateinit var button: Button override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) // Display name of the Application title = "RadioGroup in Kotlin" // Assigning id of RadioGroup radioGroup = findViewById(R.id.radioGroup1) // Assigning id of Submit button button = findViewById(R.id.submitButton) // Actions to be performed // when Submit button is clicked button.setOnClickListener { // Getting the checked radio button id // from the radio group val selectedOption: Int = radioGroup!!.checkedRadioButtonId // Assigning id of the checked radio button radioButton = findViewById(selectedOption) // Displaying text of the checked radio button in the form of toast Toast.makeText(baseContext, radioButton.text, Toast.LENGTH_SHORT).show() } } }
Modificar el archivo strings.xml
Todas las strings que se utilizan en la actividad, desde el nombre de la aplicación hasta la opción de varios botones de radio, se enumeran en este archivo.
<resources> <string name="app_name">RadioGroup in Kotlin</string> <string name="Heading">Choose a GfG course</string> <string name="RadioButton1">Amazon SDE Test Series</string> <string name="radioButton2">Placement 100</string> <string name="radioButton3">C++ STL</string> <string name="radioButton4">CS Core Subjects</string> <string name="radioButton5">DSA Self paced</string> <string name="submit_Button">Submit</string> </resources>
Producción
Publicación traducida automáticamente
Artículo escrito por RISHU_MISHRA y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA