向您的应用添加复选框

尝试 Compose 方法
Jetpack Compose 是推荐的 Android UI 工具包。了解如何在 Compose 中添加组件。

复选框允许用户从一组选项中选择一个或多个选项。通常,您会在垂直列表中呈现复选框选项。

An image showing an example of checkboxes from 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 中打印一条消息。