إضافة مربعات اختيار إلى تطبيقك

تجربة ميزة "الكتابة"
‫Jetpack Compose هي مجموعة أدوات واجهة المستخدم المُقترَحة لنظام التشغيل Android. تعرَّف على كيفية إضافة مكونات في Compose.

تسمح مربّعات الاختيار للمستخدم باختيار خيار واحد أو أكثر من مجموعة. عادةً ما تقوم بتقديم خيارات مربعات الاختيار في قائمة عمودية.

صورة تعرض مثالاً لمربّعات اختيار منmaterial.io
الشكل 1. مثال لمربّعات الاختيار من مربّع الاختيار في التصميم المتعدد الأبعاد

لإنشاء كل خيار من خيارات مربّع اختيار، أنشِئ 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 في كل مرة تتغيّر فيها حالة مربّعات الاختيار.