Радиогруппа в Android

Опубликовано: 9 Января, 2023

RadioGroup — это виджет в Android, который используется для управления несколькими переключателями в приложении Android. Мы можем добавить несколько переключателей в нашу RadioGroup. Мы видели, как использовать переключатели в Android. В этой статье мы рассмотрим, как реализовать Radio Group в приложении для Android. Пример видео приведен ниже, чтобы получить представление о том, что мы собираемся делать в этой статье.

Note: This Android article covered in both Java and Kotlin languages. 

Пошаговая реализация

Шаг 1. Создайте новый проект в Android Studio.

Чтобы создать новый проект в Android Studio, обратитесь к разделу «Как создать/запустить новый проект в Android Studio ».

Шаг 2: Работа с файлом activity_main.xml

Перейдите к app > res > layout > activity_main.xml и добавьте в него приведенный ниже код. В код добавлены комментарии для более подробного ознакомления.

XML




<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 
    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">
  
    <!--displaying a simple text view-->
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_above="@id/radioGroup"
        android:layout_margin="15dp"
        android:text="Radio Group in Android"
        android:textAlignment="center"
        android:textColor="@color/black"
        android:textSize="20sp"
        android:textStyle="bold" />
  
    <!--displaying a radio group on below line-->
    <RadioGroup
        android:id="@+id/radioGroup"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:layout_gravity="center"
        android:layout_marginStart="10dp"
        android:layout_marginTop="40dp"
        android:layout_marginEnd="10dp"
        android:gravity="center">
  
        <!--adding a radio button -->
        <RadioButton
            android:id="@+id/javaRB"
            android:layout_width="200dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:checked="false"
            android:padding="4dp"
            android:text="Java"
            android:textAlignment="center"
            android:textSize="20sp" />
  
        <!--adding a radio button -->
        <RadioButton
            android:id="@+id/cRB"
            android:layout_width="200dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:checked="false"
            android:padding="4dp"
            android:text="C++"
            android:textAlignment="center"
            android:textSize="20sp" />
  
        <!--adding a radio button -->
        <RadioButton
            android:id="@+id/pythonRB"
            android:layout_width="200dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:checked="false"
            android:padding="4dp"
            android:text="Python"
            android:textAlignment="center"
            android:textSize="20sp" />
  
    </RadioGroup>
    
</RelativeLayout>

Шаг 3: Работа с файлом MainActivity

Перейдите к приложению > java > имени пакета вашего приложения > файлу MainActivity и добавьте в него приведенный ниже код. В код добавлены комментарии для более подробного ознакомления.

Kotlin




package com.gtappdevelopers.kotlingfgproject
  
import android.os.Bundle
import android.widget.*
import androidx.appcompat.app.AppCompatActivity
  
class MainActivity : AppCompatActivity() {
  
    // on below line we are creating variables.
    lateinit var radioGroup: RadioGroup
  
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
         
        // on below line we are initializing our variables.
        radioGroup = findViewById(R.id.radioGroup)
          
        // on below line we are adding check
        // change listener for our radio group.
        radioGroup.setOnCheckedChangeListener { group, checkedId ->
              
            // on below line we are getting radio button from our group.
            val radioButton = findViewById<RadioButton>(checkedId)
              
            // on below line we are displaying a toast message.
            Toast.makeText(
                this@MainActivity,
                "Selected Radio Button is : " + radioButton.text,
                Toast.LENGTH_SHORT
            ).show()
        }
    }
}

Java




package com.gtappdevelopers.googlemapsroutes;
  
import android.os.Bundle;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
  
public class MainActivity extends AppCompatActivity {
  
    // on below line we are creating variables.
    private RadioGroup radioGroup;
  
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
          
        // on below line we are initializing our variables.
        radioGroup = findViewById(R.id.idRVLanguages);
          
        // on below line we are adding check change listener for our radio group.
        radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                  
                // on below line we are getting radio button from our group.
                RadioButton radioButton = findViewById(checkedId);
                  
                // on below line we are displaying a toast message.
                Toast.makeText(MainActivity.this, "Selected Radio Button is : " + radioButton.getText(), Toast.LENGTH_SHORT).show();
            }
        });
    }
}

Теперь запустите ваше приложение, чтобы увидеть результат.

Выход: