개요
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에 표시합니다.