개요

Android에서 라디오 버튼 그룹을 사용하면 사용자가 여러 옵션 중 하나를 선택할 수 있게 됩니다.
라디오 버튼 그룹의 선택이 변경될 때마다 해당 선택을 감지하고 처리하기 위해 setOnCheckedChangeListener 메서드를 사용할 수 있습니다.

예제 코드

import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import com.example.myapplication.databinding.ActivityMainBinding // View Binding을 위한 import

class MainActivity : AppCompatActivity() {

    private lateinit var binding: ActivityMainBinding

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        binding = ActivityMainBinding.inflate(layoutInflater) // View Binding 초기화
        setContentView(binding.root)

        // 라디오 그룹에 체크 변경 리스너 설정
        binding.fruitRadioGroup.setOnCheckedChangeListener { group, checkedId ->
            // checkedId는 선택된 라디오 버튼의 ID입니다.
            when (checkedId) {
                R.id.appleRadioButton -> {
                    binding.selectedFruitTextView.text = "선택한 과일: Apple"
                }
                R.id.bananaRadioButton -> {
                    binding.selectedFruitTextView.text = "선택한 과일: Banana"
                }
                R.id.orangeRadioButton -> {
                    binding.selectedFruitTextView.text = "선택한 과일: Orange"
                }
            }
        }
    }
}

설명

  • ActivityMainBinding: View Binding을 통해 생성된 클래스입니다. XML 레이아웃 파일의 ID를 사용하여 UI 요소에 쉽게 접근할 수 있게 해줍니다.
  • setOnCheckedChangeListener: 라디오 버튼 그룹의 체크 상태가 변경될 때 호출되는 리스너를 추가합니다. 이 메서드의 매개변수로는 두 개의 값이 있습니다:
    • group: 체크 상태가 변경된 라디오 버튼 그룹입니다.
    • checkedId: 현재 선택된 라디오 버튼의 ID입니다. 이 ID를 통해 어떤 버튼이 선택되었는지 확인할 수 있습니다.
  • when: 선택된 라디오 버튼의 ID에 따라 다르게 처리하는 구문입니다. 각각의 라디오 버튼에 대해 조건을 체크하여 해당 과일 이름을 TextView에 표시합니다.