לחצני בחירה מאפשרים למשתמש לבחור אפשרות אחת מתוך קבוצה של אפשרויות שאינן יכולות להתקיים בו-זמנית. משתמשים בלחצני בחירה אם המשתמש צריך לראות את כל האפשרויות הזמינות ברשימה. אם לא צריך להציג את כל האפשרויות, אפשר להשתמש במקום זאת ברכיב spinner.
כדי ליצור כל אפשרות של לחצן בחירה, יוצרים 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.