As caixas de seleção permitem que o usuário selecione uma ou mais opções de um conjunto. Normalmente, as opções de caixa de seleção são apresentadas em uma lista vertical.
Para definir cada opção de caixa de seleção, crie um CheckBox no seu layout. Como o conjunto de opções permite que o usuário selecione vários itens, cada caixa de seleção é gerenciada separadamente, e você precisa registrar um listener de cliques para cada uma delas.
Responder a eventos de clique
Comece criando um layout com objetos CheckBox em uma lista:
<?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>
Quando o layout estiver pronto, acesse sua Activity ou Fragment, encontre as visualizações CheckBox e defina um listener de mudança, como no exemplo a seguir:
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"); }
O código anterior imprime uma mensagem no Logcat sempre que as caixas de seleção mudam de status.