2011-10-04 83 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