앱에 라디오 버튼 추가

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

라디오 버튼을 사용하면 사용자가 상호 배타적인 옵션 세트에서 하나의 옵션을 선택할 수 있습니다. 사용자가 사용 가능한 모든 옵션을 나열된 상태로 확인해야 하는 경우 라디오 버튼을 사용합니다. 모든 옵션을 표시할 필요가 없다면 대신 스피너를 사용하세요.

material.io의 라디오 버튼 예
그림 1. Material Design의 라디오 버튼 예시

각 라디오 버튼 옵션을 만들려면 레이아웃에서 RadioButton을 만듭니다. 라디오 버튼은 상호 배타적이므로 RadioGroup 내부에서 그룹화합니다. 시스템은 그룹 내에서 한 번에 하나의 라디오 버튼만 선택할 수 있도록 합니다.

클릭 이벤트에 응답

사용자가 라디오 버튼을 선택하면 상응하는 RadioButton 객체가 클릭 시 이벤트를 수신합니다.

다음 예는 사용자가 그룹에서 RadioButton 객체를 탭할 때의 반응을 보여줍니다.

<?xml version="1.0" encoding="utf-8"?>
<RadioGroup
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">
    <RadioButton android:id="@+id/radio_pirates"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Pirates"/>
    <RadioButton android:id="@+id/radio_ninjas"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Ninjas"/>
</RadioGroup>

이 레이아웃을 호스팅하는 Activity 또는 Fragment 내에서 라디오 버튼을 찾아 다음과 같이 각 버튼에 변경 리스너를 설정합니다.

Kotlin

findViewById<RadioButton>(R.id.radio_pirates).setOnCheckedChangeListener { buttonView, isChecked ->
    Log.d("RADIO", "Pirates is checked: $isChecked")
}

findViewById<RadioButton>(R.id.radio_ninjas).setOnCheckedChangeListener { buttonView, isChecked ->
    Log.d("RADIO", "Ninjas is checked: $isChecked")
}

자바

findViewById<RadioButton>(R.id.radio_pirates).setOnCheckedChangeListener { buttonView, isChecked ->
    Log.d("RADIO", "Pirates is checked: $isChecked");
}

findViewById<RadioButton>(R.id.radio_ninjas).setOnCheckedChangeListener { buttonView, isChecked ->
    Log.d("RADIO", "Ninjas is checked: $isChecked");
}

이 예에서는 사용자가 라디오 버튼 중 하나를 탭하면 Logcat에 메시지가 출력됩니다.