לחצני בחירה מאפשרים למשתמש לבחור אפשרות אחת מתוך קבוצה של אפשרויות בלעדיות. כדאי להשתמש בלחצני בחירה אם המשתמש צריך לראות את כל האפשרויות הזמינות. אם אין צורך להציג את כל האפשרויות, אפשר להשתמש במקום זאת בבורר.
כדי ליצור כל אפשרות של לחצן הבחירה, יוצרים RadioButton בפריסה. מכיוון שכפתורי בחירה הם בלעדיים זה לזה, צריך לקבץ אותם בתוך RadioGroup.
המערכת מוודאת שאפשר לבחור רק לחצן בחירה אחד בקבוצה בכל פעם.
תגובה לאירועי קליקים
כשהמשתמש בוחר לחצן רדיו, אובייקט RadioButton התואם מקבל אירוע on-click.
בדוגמה הבאה מוצגת תגובה למשתמש שמקיש על אובייקט 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.