Validare tutti i RadioButton in Android con RadioGroup

Mattepuffo's logo
Validare tutti i RadioButton in Android con RadioGroup

Validare tutti i RadioButton in Android con RadioGroup

Supponiamo di avere una schermata in Android con parecchi RadioButton da validare.

Invece di controllarne uno per uno, possiamo inserirli tutti dentro ad un RadioGroup e validare solo quello.

Quindi partendo da un layout del genere:

<RadioGroup
	android:id="@+id/radioGrp"
	android:layout_width="wrap_content"
	android:layout_height="wrap_content">

	<RadioButton
		android:id="@+id/radioButton1"
		android:layout_width="match_parent"
		android:layout_height="wrap_content"
		android:layout_marginBottom="10dp"
		android:text=""
		android:textColor="@color/colorWhite"
		android:textSize="18dp"
		android:textStyle="bold" />

	<RadioButton
		android:id="@+id/radioButton2"
		android:layout_width="match_parent"
		android:layout_height="wrap_content"
		android:layout_marginBottom="10dp"
		android:text=""
		android:textColor="@color/colorWhite"
		android:textSize="18dp"
		android:textStyle="bold" />

	<RadioButton
		android:id="@+id/radioButton3"
		android:layout_width="match_parent"
		android:layout_height="wrap_content"
		android:layout_marginBottom="10dp"
		android:text=""
		android:textColor="@color/colorWhite"
		android:textSize="18dp"
		android:textStyle="bold" />

	<RadioButton
		android:id="@+id/radioButton4"
		android:layout_width="match_parent"
		android:layout_height="wrap_content"
		android:layout_marginBottom="10dp"
		android:text=""
		android:textColor="@color/colorWhite"
		android:textSize="18dp"
		android:textStyle="bold" />

	<RadioButton
		android:id="@+id/radioButton5"
		android:layout_width="match_parent"
		android:layout_height="wrap_content"
		android:layout_marginBottom="10dp"
		android:text=""
		android:textColor="@color/colorWhite"
		android:textSize="18dp"
		android:textStyle="bold" />
</RadioGroup>

Possiamo fare così:

public void sendSegnalazione(View view) {
	RadioGroup radioGroup = findViewById(R.id.radioGrp);
	if (radioGroup.getCheckedRadioButtonId() == -1) {
		Log.i("KO", "KO");
	} else {
		Log.i("OK", "OK");
	}
}

Abbiamo usato il metodo getCheckedRadioButtonId; facendo così in automatico viene controllato se almeno un RadioButton è selezionato.

Enjoy!


Condividi

Commentami!