마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

라디오버튼 디폴트값 설정하기

0 추천

특정조건에 따라서 라디오버튼의 디폴트값을 설정해주려고 합니다.

 RadioGroup radioGroup = (RadioGroup)findViewById(R.id.radio_group);
  radioGroup.setOnCheckedChangeListener(this);
if(조건1)    
    radioGroup.check(R.id.radioButton1);
else if(조건2) 
    radioGroup.check(R.id.radioButton2);
else(조건3)
    radioGroup.check(R.id.radioButton3);

이런식으로 했는데 실행하면 조건구문에서 오류가 납니다. 그래서 구글에서 검색해보다가

RadioButton rad1 = (RadioButton)findViewById(R.id.radioButton1);
rad1.setId(1);
RadioButton rad2= (RadioButton)findViewById(R.id.radioButton2);
rad2.setId(2);
RadioButton rad3= (RadioButton)findViewById(R.id.radioButton3);
rad3.setId(3);
if(조건1)   
    radioGroup.check(1);
else if(조건2)
    radioGroup.check(2);
else(조건3)
    radioGroup.check(3);

이렇게 하니까 조건1,2,3에 따라서 디폴트값이 선택이 되긴하는데 onCheckedChanged()메소드가 동작을 하지를 않습니다. 처음방법으로 할때는 디폴트값 선택구문만 제외시키면 onCheckedChanged()메소드는 잘 동작 했었거든요.

public void onCheckedChanged(RadioGroup arg0, int arg1) {

switch(arg1){
case R.id.radioButton1:
............;
break;
case R.id.radioButton2:
.............;
break;
case R.id.radioButton3:
.............;
break;
}

}

 

비상운전 (620 포인트) 님이 2013년 6월 6일 질문
비상운전님이 2013년 6월 6일 수정

1개의 답변

+1 추천
 
채택된 답변
해결했어요 혹시 필요하신분 참고하시라고 덧글 남깁니다.

라디오버튼을 각각 findViewById로 지정을 해주고 radioGroup.check(라디오버튼.getId()); 로 하니까 조건에 따라 디폴트값도 바뀌고 onCheckedChanged()메소드도 잘 동작 하네요.
비상운전 (620 포인트) 님이 2013년 6월 9일 답변
감사합니다. 삽질하던 찰나에 좋은 글 보고 갑니다.
...