본문 바로가기

~2023

[Android] RadioButton, RadioGroup 체크 이벤트(CheckedChange) 작동

728x90
반응형

<실행 예시>

 

 


<풀이>

 

여러 개의 RadioButton에서 한 개의 RadioButton에 대해서 클릭(체크) 이벤트를 발생시키고 싶으면 RadioButton을 RadioGroup으로 묶어 CheckedChange 리스너를 작성해준다.

RadioGroup을 만들지 않으면 RadioButton에 독립적은 이벤트 리스너가 생기므로 중복 체크가 된다. 하지만 이 글에서 해결하고자 하는 문제는 여러 개의 라디오 버튼 중에서 한 개에 라디오 버튼만 체크가 되게 하고 싶기 때문에 그룹을 만들어야 한다. 또한, RadioGroup을 사용하면 동일한 버튼을 눌렀을 때, 이벤트가 발생하지 않는다.

이제 OnCheckedChangeListener()를 완성시켜주면 되는데 매개변수로 (RadioGroup group, int checkedId)를 받는데 어떤 버튼이 눌렸는지 Toast로 확인하고자 group 안에 있는 checkedId를 print 해주면 된다.

 


<코드>

rbRed, rbBlue, rbGreen: 독립적인 라디오 버튼 객체

rgColor: 라디오 버튼 그룹 객체

mRBCL: 라디오 버튼 객체 모음(rbRed, rbBlue, rbGreen 등)


java 1/2
java 2/2
xml

 

 

 

 

 

728x90
반응형