افزودن چارگوش انتخاب به برنامه

امتحان کردن روش Compose
Jetpack Compose جعبه‌ابزار واسط کاربر توصیه‌شده برای Android است. با نحوه افزودن مؤلفه‌ها در Compose آشنا شوید.

چارگوش‌های انتخاب به کاربر اجازه می‌دهند یک یا چند گزینه را از مجموعه‌ای انتخاب کند. معمولاً گزینه‌های چارگوش انتخاب را در فهرست عمودی ارائه می‌دهید.

تصویری که نمونه‌ای از چندانتخابی‌ها را از material.io نشان می‌دهد
شکل ۱. نمونه‌ای از چندانتخابی‌ها از چندانتخابی طراحی مواد.

برای ایجاد هر گزینه چارگوش انتخاب، یک 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 را پیدا کنید، و شنونده تغییر را تنظیم کنید، مانند مثال زیر:

کاتلین

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")
    }

جاوا

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 چاپ می‌کند.