תיבות סימון מאפשרות למשתמש לבחור אפשרות אחת או יותר מתוך קבוצה. בדרך כלל מציגים תיבת סימון ברשימה אנכית.
כדי ליצור כל אפשרות של תיבת סימון, יוצרים
CheckBox
בפריסה שלך. כי
קבוצה של אפשרויות תיבות סימון מאפשרת למשתמש לבחור פריטים מרובים, כל תיבת סימון מנוהלת בנפרד,
וצריך לרשום אוזן קליקים לכל אחד מהם.
תגובה לאירועים מסוג קליק
כדי להתחיל, צריך ליצור פריסה עם CheckBox
אובייקטים ברשימה:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <CheckBox android:id="@+id/checkbox_meat" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Meat" /> <CheckBox android:id="@+id/checkbox_cheese" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Cheese"/> </LinearLayout>
כשהפריסה מוכנה, אפשר לחפש את Activity
או Fragment
CheckBox
צפיות, והגדרת שינוי מאזין, כמו בדוגמה הבאה:
Kotlin
findViewById<CheckBox>(R.id.checkbox_meat) .setOnCheckedChangeListener { buttonView, isChecked -> Log.d("CHECKBOXES", "Meat is checked: $isChecked") } findViewById<CheckBox>(R.id.checkbox_cheese) .setOnCheckedChangeListener { buttonView, isChecked -> Log.d("CHECKBOXES", "Cheese is checked: $isChecked") }
Java
findViewById<CheckBox>(R.id.checkbox_meat) .setOnCheckedChangeListener { buttonView, isChecked -> Log.d("CHECKBOXES", "Meat is checked: $isChecked"); } findViewById<CheckBox>(R.id.checkbox_cheese) .setOnCheckedChangeListener { buttonView, isChecked -> Log.d("CHECKBOXES", "Cheese is checked: $isChecked"); }
הקוד הקודם מדפיס הודעה ב-Logcat בכל פעם שהסטטוס של תיבות הסימון משתנה.