2011-10-04 88 views
0

我正在创建一个应用程序,该应用程序动态地为评级提取表单。但是当我实现这个代码时,无线电组选择2个选项(单选按钮)。我想以单选按钮的形式进行评分,用户将只能选择1个单选按钮。检查我的代码:使用单选按钮动态创建快速费率

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); 

    } 

,但在单选按钮组在运行时,单选按钮选择2个选项,而不是1

+0

为什么不使用XML进行布局? –

+0

我的要求是以动态的方式进行。 – Kanika

+0

编辑你的问题,包括'我'循环 –

回答

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

应用我们的代码,但是,它仍然工作相同..在一个组中选择2个单选按钮 – Kanika

+0

我也许没有得到你。它是否允许您在收音机组中选择多个单选按钮,或者当您单击任何一个单选按钮时是否一次选择两个单选按钮? –

+0

它在广播组中选择多个单选按钮 – Kanika