وتتيح أزرار الاختيار للمستخدِم تحديد خيار واحد من بين مجموعة من الخيارات التبادلية. استخدم أزرار الاختيار إذا كان المستخدم بحاجة إلى رؤية جميع الخيارات ال المتاحة المدرجة. إذا لم يكن من الضروري عرض جميع الخيارات، استخدِم أداة تثبيت بدلاً من ذلك.
لإنشاء كل خيار لزر الاختيار، أنشئ
RadioButton
في التنسيق. بما أنّ أزرار الاختيار متعارضة، يمكنك تجميعها داخل
RadioGroup
.
يضمن النظام إمكانية تحديد زر اختيار واحد فقط داخل المجموعة في كل مرة.
الاستجابة لأحداث النقر
عندما ينقر المستخدم على زر اختيار، يتلقّى عنصر
RadioButton
المقابل حدثًا عند النقر.
يوضّح المثال التالي تفاعلاً للمستخدم الذي ينقر على عنصر
RadioButton
في مجموعة:
<?xml version="1.0" encoding="utf-8"?> <RadioGroup android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <RadioButton android:id="@+id/radio_pirates" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Pirates"/> <RadioButton android:id="@+id/radio_ninjas" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Ninjas"/> </RadioGroup>
ضمن Activity
أو Fragment
الذي يستضيف هذا التنسيق، ابحث عن أزرار الاختيار واضبِط أداة معالجة التغيير لكلٍ منها، على النحو التالي:
Kotlin
findViewById<RadioButton>(R.id.radio_pirates).setOnCheckedChangeListener { buttonView, isChecked -> Log.d("RADIO", "Pirates is checked: $isChecked") } findViewById<RadioButton>(R.id.radio_ninjas).setOnCheckedChangeListener { buttonView, isChecked -> Log.d("RADIO", "Ninjas is checked: $isChecked") }
Java
findViewById<RadioButton>(R.id.radio_pirates).setOnCheckedChangeListener { buttonView, isChecked -> Log.d("RADIO", "Pirates is checked: $isChecked"); } findViewById<RadioButton>(R.id.radio_ninjas).setOnCheckedChangeListener { buttonView, isChecked -> Log.d("RADIO", "Ninjas is checked: $isChecked"); }
في هذا المثال، عندما ينقر المستخدم على أحد أزرار الاختيار، يتم عرض رسالة في Logcat.