앱에 체크박스 추가

Compose 사용해 보기
Jetpack Compose는 Android를 위한 권장 UI 도구 키트입니다. Compose에서 구성요소를 추가하는 방법을 알아보세요.

체크박스를 사용하면 사용자가 세트에서 하나 이상의 옵션을 선택할 수 있습니다. 일반적으로 체크박스 옵션은 세로 목록에 표시합니다.

material.io의 체크박스 예시를 보여주는 이미지
그림 1. 머티리얼 디자인 체크박스 체크박스의 예

각 체크박스 옵션을 만들려면 레이아웃에서 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")
    }

자바

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에 메시지를 출력합니다.