Android - Controllo RadioButton

Un RadioButton ha due stati: selezionato o deselezionato. Ciò consente all'utente di selezionare un'opzione da un set.

Pulsante radio

Esempio

Questo esempio ti guiderà attraverso semplici passaggi per mostrare come creare la tua applicazione Android utilizzando Linear Layout e RadioButton.

Passo Descrizione
1 Utilizzerai Android Studio per creare un'applicazione Android e denominarla come My Application in un pacchetto com.example.saira_000.myapplication come spiegato nel capitolo Hello World Example .
2 Modificare il file src / MainActivity.java per aggiungere un evento clic.
2 Modifica il contenuto predefinito del file res / layout / activity_main.xml per includere il controllo dell'interfaccia utente Android.
3 Android Studio si occupa delle costanti predefinite, quindi non è necessario dichiarare le costanti predefinite nel file string.xml
4 Esegui l'applicazione per avviare l'emulatore Android e verifica il risultato delle modifiche apportate nell'applicazione.

Di seguito è riportato il contenuto del file di attività principale modificato src/MainActivity.java. Questo file può includere ciascuno dei metodi fondamentali del ciclo di vita.

Nell'esempio sotto abc indica l'immagine di tutorialspoint
package com.example.saira_000.myapplication;

import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;

public class MainActivity extends ActionBarActivity {
   RadioGroup rg1;
   RadioButton rb1;
   Button b1;
   
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      addListenerRadioButton();
   }
   
   private void addListenerRadioButton() {
      rg1 = (RadioGroup) findViewById(R.id.radioGroup);
      b1 = (Button) findViewById(R.id.button2);
      b1.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
            int selected=rg1.getCheckedRadioButtonId();
            rb1=(RadioButton)findViewById(selected);
            Toast.makeText(MainActivity.this,rb1.getText(),Toast.LENGTH_LONG).show();
         }
      });
   }
}

Di seguito sarà il contenuto di res/layout/activity_main.xml file -

<?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:layout_width="match_parent"
   android:layout_height="match_parent"
   android:paddingBottom="@dimen/activity_vertical_margin"
   android:paddingLeft="@dimen/activity_horizontal_margin"
   android:paddingRight="@dimen/activity_horizontal_margin"
   android:paddingTop="@dimen/activity_vertical_margin"
   tools:context=".MainActivity">
   
   <TextView
      android:id="@+id/textView1"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Example of Radio Button"
      android:layout_alignParentTop="true"
      android:layout_centerHorizontal="true"
      android:textSize="30dp" />
      
   <TextView
      android:id="@+id/textView2"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Tutorials point"
      android:textColor="#ff87ff09"
      android:textSize="30dp"
      android:layout_above="@+id/imageButton"
      android:layout_centerHorizontal="true"
      android:layout_marginBottom="40dp" />
      
   <ImageButton
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:id="@+id/imageButton"
      android:src="@drawable/abc"
      android:layout_centerVertical="true"
      android:layout_centerHorizontal="true" />
      
   <Button
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:id="@+id/button2"
      android:text="ClickMe"
      android:layout_alignParentBottom="true"
      android:layout_centerHorizontal="true" />
   
   <RadioGroup
      android:id="@+id/radioGroup"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:layout_below="@+id/imageButton"
      android:layout_alignLeft="@+id/textView2"
      android:layout_alignStart="@+id/textView2">
         
      <RadioButton
         android:layout_width="142dp"
         android:layout_height="wrap_content"
         android:text="JAVA"
         android:id="@+id/radioButton"
         android:textSize="25dp"
         android:textColor="@android:color/holo_red_light"
         android:checked="false"
         android:layout_gravity="center_horizontal" />
         
      <RadioButton
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="ANDROID"
         android:id="@+id/radioButton2"
         android:layout_gravity="center_horizontal"
         android:checked="false"
         android:textColor="@android:color/holo_red_dark"
         android:textSize="25dp" />
         
      <RadioButton
         android:layout_width="136dp"
         android:layout_height="wrap_content"
         android:text="HTML"
         android:id="@+id/radioButton3"
         android:layout_gravity="center_horizontal"
         android:checked="false"
         android:textSize="25dp"
         android:textColor="@android:color/holo_red_dark" />
         
   </RadioGroup>
      
</RelativeLayout>

Di seguito sarà il contenuto di res/values/strings.xml per definire queste nuove costanti -

<?xml version="1.0" encoding="utf-8"?>
<resources>
   <string name="app_name">My Application</string>
</resources>

Di seguito è riportato il contenuto predefinito di AndroidManifest.xml -

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.example.saira_000.myapplication" >
   
   <application
      android:allowBackup="true"
      android:icon="@drawable/ic_launcher"
      android:label="@string/app_name"
      android:theme="@style/AppTheme" >
      
      <activity
         android:name="com.example.My Application.MainActivity"
         android:label="@string/app_name" >
      
         <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
         </intent-filter>

      </activity>
      
   </application>
</manifest>

Proviamo a eseguire il tuo My Applicationapplicazione. Presumo che tu abbia creato il tuoAVDdurante l'impostazione dell'ambiente. Per eseguire l'app da Android Studio, apri uno dei file di attività del progetto e fai clic sull'icona Esegui dalla barra degli strumenti. Android Studio installa l'app sul tuo AVD e la avvia e se tutto va bene con la configurazione e l'applicazione, verrà visualizzata la seguente finestra dell'emulatore:

Se l'utente ha selezionato uno qualsiasi di un pulsante di opzione, dovrebbe fornire lo stesso nome nel messaggio di Toast. supponiamo, se l'utente ha selezionato JAVA, fornisce un messaggio di avviso come JAVA

Esercizio

Consiglierò di provare l'esempio sopra con diversi attributi di RadioButton nel file XML di layout e al momento della programmazione per avere un aspetto e un aspetto diversi del RadioButton. Prova a renderlo modificabile, cambia il colore del carattere, la famiglia del carattere, la larghezza, la dimensione del testo ecc.E guarda il risultato. Puoi anche provare l'esempio precedente con più controlli RadioButton in un'unica attività.