Botón de radio en Android

RadioButton es un widget utilizado en Android que proporciona funcionalidad para elegir una sola opción de varios conjuntos de opciones. Esto generalmente se usa cuando queremos que el usuario seleccione solo una opción del conjunto de opciones dadas. En este artículo, veremos cómo usar los botones de radio en Android. 

Nota : este artículo de Android cubre los lenguajes Java y Kotlin

Implementación paso a paso

Paso 1: crea un nuevo proyecto en Android Studio

Cómo crear/iniciar un nuevo proyecto en Android Studio

Paso 2: trabajar con el archivo activity_main.xml

Vaya a aplicación > res > diseño > actividad_principal.xml y agréguele el siguiente código. Se agregan comentarios en el código para conocer en detalle. 

XML

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/idRLContainer"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">
  
    <!--on below line we are creating
        a text for our app-->
    <TextView
        android:id="@+id/idTVHeading"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_above="@id/idTVStatus"
        android:layout_centerInParent="true"
        android:layout_margin="20dp"
        android:gravity="center"
        android:padding="10dp"
        android:text="Radio Button in Android"
        android:textAlignment="center"
        android:textColor="@color/black"
        android:textSize="20sp"
        android:textStyle="bold" />
  
    <!--on below line we are creating a text view-->
    <TextView
        android:id="@+id/idTVStatus"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_above="@id/idRadioGroup"
        android:layout_centerInParent="true"
        android:layout_margin="20dp"
        android:gravity="center"
        android:padding="10dp"
        android:text="Status"
        android:textAlignment="center"
        android:textColor="@color/black"
        android:textSize="20sp"
        android:textStyle="bold" />
  
    <!--on below line we are creating a radio group-->
    <RadioGroup
        android:id="@+id/idRadioGroup"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:gravity="center">
  
        <!--on below line we are creating a radio buttons-->
        <RadioButton
            android:id="@+id/idBtnJavaRadio"
            android:layout_width="150dp"
            android:layout_height="wrap_content"
            android:padding="4dp"
            android:text="Java"
            android:textAlignment="center"
            android:textColor="@color/black"
            android:textSize="20sp" />
  
        <RadioButton
            android:id="@+id/idBtnKotlinRadio"
            android:layout_width="150dp"
            android:layout_height="wrap_content"
            android:padding="4dp"
            android:text="Kotlin"
            android:textAlignment="center"
            android:textColor="@color/black"
            android:textSize="20sp" />
  
        <RadioButton
            android:id="@+id/idBtnFlutterRadio"
            android:layout_width="150dp"
            android:layout_height="wrap_content"
            android:padding="4dp"
            android:text="Flutter"
            android:textAlignment="center"
            android:textColor="@color/black"
            android:textSize="20sp" />
    </RadioGroup>
    
</RelativeLayout>

Paso 3: trabajar con el archivo MainActivity 

Vaya a aplicación > java > nombre del paquete de su aplicación > archivo MainActivity y agregue el código a continuación. Se agregan comentarios en el código para conocer en detalle. 

Kotlin

package com.gtappdevelopers.kotlingfgproject
  
import android.os.Bundle
import android.widget.RadioButton
import android.widget.RadioGroup
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
  
class MainActivity : AppCompatActivity() {
  
    // on below line we are creating a variable.
    lateinit var radioGrp: RadioGroup
    lateinit var statusTV: TextView
  
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
  
        // on below line we are initializing our variables.
        radioGrp = findViewById(R.id.idRadioGroup)
        statusTV = findViewById(R.id.idTVStatus)
  
        radioGrp.setOnCheckedChangeListener { group, checkedId ->
            // Get the selected Radio Button
            val radioButton = group
                .findViewById(checkedId) as RadioButton
  
            // on below line we are setting 
              // text for our status text view.
            statusTV.text = radioButton.text
        }
    }
}

Java

package com.gtappdevelopers.kotlingfgproject;
  
import android.os.Bundle;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
  
public class MainActivity extends AppCompatActivity {
  
    // on below line we are creating a variable.
    private RadioGroup radioGrp;
    private TextView statusTV;
  
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
  
        // on below line we are initializing our variables.
        radioGrp = findViewById(R.id.idRadioGroup);
        statusTV = findViewById(R.id.idTVStatus);
  
        radioGrp.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                // Get the selected Radio Button
                RadioButton radioButton = group.findViewById(checkedId);
  
                // on below line we are setting text 
                  // for our status text view.
                statusTV.setText(radioButton.getText());
            }
        });
    }
}

Ahora ejecute su aplicación para ver el resultado. 

Producción:

Publicación traducida automáticamente

Artículo escrito por chaitanyamunje y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *