在應用程式中新增核取方塊

試用 Compose
Jetpack Compose 是 Android 推薦的 UI 工具包。瞭解如何在 Compose 中新增元件。

核取方塊可讓使用者從一組選項中選取一或多個項目。一般而言,您應在垂直清單中呈現核取方塊選項。

圖片:顯示 material.io 的核取方塊範例
圖 1. Material Design 核取方塊的核取方塊範例。

如要建立核取方塊選項,請在版面配置中建立 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>

版面配置準備就緒後,請前往 ActivityFragment,找出 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 中顯示訊息。