라디오 버튼을 사용하면 사용자가 상호 배타적인 옵션 세트에서 하나의 옵션을 선택할 수 있습니다. 사용자가 사용 가능한 모든 옵션을 나열된 상태로 확인해야 하는 경우 라디오 버튼을 사용합니다. 모든 옵션을 표시할 필요가 없다면 대신 스피너를 사용하세요.
각 라디오 버튼 옵션을 만들려면 레이아웃에서 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에 메시지가 출력됩니다.