复选框可让用户从一系列选项中选择一个或多个选项。通常,您应以垂直列表形式显示复选框选项。
如需创建每个复选框选项,请在布局中创建一个 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 中输出一条消息。