2011-10-04 5 views
0

등급을 동적으로 가져 오는 응용 프로그램을 만들고 있습니다. 그러나이 코드를 구현할 때 라디오 그룹은 2 개의 옵션 (라디오 버튼)을 선택합니다. 나는 라디오 버튼의 형태로 등급을 받고 싶고 사용자는 단 하나의 라디오 버튼을 선택할 수있을 것이다. 기분이 라디오 그룹의 배열에 라디오 버튼의 배열을 추가하는 것은 아니라고 라디오 버튼을 사용하여 동적으로 빠른 속도 생성

for(int i=0;i<count;i++) 
    { 

     LinearLayout lay_hori=new LinearLayout(this); 
     lay_hori.setOrientation(LinearLayout.HORIZONTAL); 
     TextView optionText=new TextView(this); 
     optionText.setText(current_ques.option_text[i]); 
     optionText.setTextColor(Color.BLACK); 
     optionText.setWidth(110); 
     rg_rating[i]=new RadioGroup(this); //radio group 
     rg_rating[i].setMinimumHeight(30); 
     rg_rating[i].setId(i); 
     rg_rating[i].setOrientation(RadioGroup.HORIZONTAL); 
     for(int j=0;j<4;j++) 
     { 
      rb_rating[j]=new RadioButton(this); //radio buttons 
      rb_rating[j].setId(j); 

      rg_rating[i].addView(rb_rating[j]); 
      Log.i("rg_rating[i]", ""+rg_rating[i]); 
      Log.i("rb_rating[j]",""+ rb_rating[j]); 

     } 
     Log.i("rg_rating[i]Child", ""+rg_rating[i].getChildCount()); //it returns that each radio group has 4 child,correct 

     rg_rating[i].setOnCheckedChangeListener(checkRadioGroup); 

     lay_hori.addView(optionText); 
     lay_hori.addView(rg_rating[i]); 
     layout_main.addView(lay_hori); 

    } 

하지만 라디오 그룹에서 런타임에

가, 라디오 버튼은이 옵션보다는 1

+0

왜 레이아웃에 XML을 사용하지 않습니까? –

+0

내 요구 사항은 동적 인 방식으로 작성하는 것입니다. – Kanika

+0

질문을 편집하여 'i' 루프를 포함하도록 –

답변

0

를 선택 : 내 코드를 확인 좋은 생각.

코드를 테스트 할 기회가 없었지만 다음 코드를 사용해 볼 수 있습니까?

궁극적으로 하나의 요소를 j 루프 내의 라디오 그룹에 추가하기 때문에 라디오 버튼 배열을 사용하지 않았습니다.
발생할 수있는 오류를 수정하십시오.

for(int i=0;i<count;i++) 
{ 

    LinearLayout lay_hori=new LinearLayout(this); 
    lay_hori.setOrientation(LinearLayout.HORIZONTAL); 
    TextView optionText=new TextView(this); 
    optionText.setText(current_ques.option_text[i]); 
    optionText.setTextColor(Color.BLACK); 
    optionText.setWidth(110); 
    rg_rating[i]=new RadioGroup(this); //radio group 
    rg_rating[i].setMinimumHeight(30); 
    rg_rating[i].setId(i); 
    rg_rating[i].setOrientation(RadioGroup.HORIZONTAL); 
    for(int j=0;j<4;j++) 
    { 
     rb_rating=new RadioButton(this); //radio buttons 
     rb_rating.setId(j); 

     rg_rating[i].addView(rb_rating); 
     Log.i("rg_rating[i]", ""+rg_rating[i]); 
     Log.i("rb_rating[j]",""+ rb_rating.getId()); 

    } 
    Log.i("rg_rating[i]Child", ""+rg_rating[i].getChildCount()); //it returns that each radio group has 4 child,correct 

    rg_rating[i].setOnCheckedChangeListener(checkRadioGroup); 

    lay_hori.addView(optionText); 
    lay_hori.addView(rg_rating[i]); 
    layout_main.addView(lay_hori); 

} 
+0

ur 코드가 적용되었지만 여전히 작동합니다. 그룹의 2 개의 라디오 버튼을 선택하십시오. – Kanika

+0

아마도 당신을 얻지 못할 것입니다. 라디오 그룹에서 두 개 이상의 라디오 버튼을 선택할 수 있습니까? 아니면 하나의 라디오 버튼을 클릭하면 두 개의 라디오 버튼을 동시에 선택합니까? –

+0

라디오 그룹에서 하나 이상의 라디오 버튼을 선택합니다. – Kanika

관련 문제