프로그램/안드로이드

안드로이드에서 RadioButton 의 on/off 가 제대로 움직이지 않고 오류가 발생할때

(주)CKBcorp., 2015. 1. 15. 06:30
반응형


안드로이드에서 RadioButton 을 코드로 켜고 꺼 주려면 어찌해야 할까?

예를들어 


RadioButton radio1 = ( RadioButton )findViewById( R.id.radiobtn1 );


이라면,


아마 맨 처음 생각하는 코드는 이런 거겠지.


int rid = { R.id.radiobtn1, R.id.radiobtn2, R.id.radiobtn3 } ;

for( int one : rid )

{

    radio1 = (RadioButton)findViewById( one );

    radio1.setChecked( false );

}

radio1.setChecked( true );



이건 이렇다.


[ 저 코드를 작성한 시점에서 인터넷 안 뒤져보고 바로 디버깅 들어갔다면, 제대로 낚인거임. 나처럼 ]


결론부터 말하면,  RadioButton 을 코드로  On / Off  하려면, 


1. RadioGroup 으로 코드 제어를 한다. On / Off 를 RadioButton 으로 제어하려는 생각따위는 버린다.

2. RadioButton 만으로도 제어할 수 있는데, 이 경우는 On 만 제어한다. Off는 제어하지 않는다.


이다.

일단 이야기하기 쉬운게 2번인데,

RadioButton 의 경우는,  RadioButton.setChecked( true ) 로 한다. 

주의할 건, RadioButton 을 true 로 하면 나머지 RadioButton은 알아서 false 가 되니까, 신경 꺼도 된다.


그런데, 만약 여러 사정으로 RadioButton 을 제어하지 못한다면, 


RadioGroup.check( R.id.radiobtn1 );


으로 처리하면 된다.


하여튼, 인터넷 빨리 찾아봐라. 노답.



 


반응형