הוספת לחצני בחירה לאפליקציה

רוצה לנסות את שיטת הכתיבה?
'Jetpack פיתוח נייטיב' היא ערכת הכלים המומלצת לממשק המשתמש ל-Android. מידע על הוספת רכיבים לכתיבה.

לחצני בחירה מאפשרים למשתמש לבחור אפשרות אחת מתוך קבוצה של אפשרויות. אם המשתמש צריך לראות את כל האפשרויות הזמינות, יש להשתמש בלחצני בחירה רשום. אם לא צריך להציג את כל האפשרויות, אפשר להשתמש spinner במקום.

דוגמה ללחצני בחירה מ-Material.io
איור 1. דוגמה ללחצני בחירה של חומר עיצוב.

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