چک باکس ها را به برنامه خود اضافه کنید

روش Compose را امتحان کنید
Jetpack Compose جعبه ابزار UI توصیه شده برای اندروید است. با نحوه افزودن کامپوننت در 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 خود را پیدا کنید و شنونده تغییر تنظیم کنید، مانند مثال زیر:

کاتلین

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