안드로이드에서 RadioButton 의 on/off 가 제대로 움직이지 않고 오류가 발생할때
안드로이드에서 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 );
으로 처리하면 된다.
하여튼, 인터넷 빨리 찾아봐라. 노답.