复选框允许用户从一组选项中选择一个或多个选项。通常,您会在垂直列表中呈现复选框选项。
要创建每个复选框选项,请在您的布局中创建 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 中打印一条消息。