2011-11-25 134 views
1

我正在使用RadioGroup,增加了RadioButton rdbutRadioGroup rdgrprdgrp.addView(rdbut)Android RadioGroup檢查多個RadioButton?

for(int j=0;j<3;j++) 
    { 
     RadioGroup rdgrp = new RadioGroup; 
     for(int i=0;i<=10;i++) 
     { 
      RadioButton rdbut = new RadioButton(this); 
      rdbut.setText("RadioButtion"+i); 
      rdbut.setId(i); 
      rdbut.setTag("somename"); 
      rdgrp.addView(rdbut); 
     } 
    }  

上面的代碼顯示了我如何初始化radiogroup和單選按鈕。在我運行這個代碼之後,在模擬器/移動設備中,我可以一次檢查2個單選按鈕。

可能是什麼問題?

+0

您正在創建3組11個RadioButton(現在可以嗎?),現在應該會出現所有的單選按鈕,您可以一次選擇3個單選按鈕(每組一個無線電)。 –

+0

如何將'rdgrp'添加到父視圖中。和'RadioGroup'的構造函數也很奇怪(似乎在複製粘貼時出現錯字)。 –

+0

在每個配給組中,我可以選擇兩個單選按鈕。它意味着6個單選按鈕,但在每個radiogroup中不能多於兩個。 – Raju

回答

1

像這樣改變你的代碼。

RadioGroup rdgrp[] = new RadioGroup[3]; 

    For(int j=0;j<3;j++) 
    { 
     RadioButton rdbut[] = new RadioButton[10]; 
     For(int i=0;i<=10;i++) 
     { 

      rdbut[i].setText("RadioButtion"+i); 
      rdbut[i].setId(j*100+i); 
      rdbut[i].setTag("somename"); 
      rdgrp[j].addView(rdbut[i]); 
     } 
    } 
+0

rdbut []是一個RadioButton的數組,您不用RadioButton intances.U可以編輯它在任何地方初始化它。 –

0

您已經創建三個不同的無線電集團您只能從一個組中選擇一個單選按鈕。因此,您可以從三個組中選擇三個按鈕但是不存在組間關係。您可以同時選擇來自不同組的單選按鈕。在你的情況下,你可以選擇最多三個按鈕。

感謝 蘇尼爾

0

使用一些類似的事情在用戶佈局文件這個XML設計。

<TableLayout 
      android:id="@+id/tbl_layoutchoice" 
      style="@style/InfoTableView" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="3dip" > 

      <RadioGroup 
       android:id="@+id/SelectLayout_Group" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" > 
      </RadioGroup> 
</TableLayout> 

以及使用該RadioGroup中中的活動onCreate()方法和findView這樣

mRadioGroup = (RadioGroup) this.findViewById(R.id.SelectLayout_Group); 

,然後用下面的代碼與你的要求更改爲一個RadioGroup.Use添加單選按鈕還以下要求聲明爲動態創建單選按鈕。

 ArrayList<String> layoutlist = new ArrayList<String>(3); 
    int index = -1; 
    LayoutParams lp = new LayoutParams(LayoutParams.FILL_PARENT, 
     LayoutParams.WRAP_CONTENT); 


    for (String layout : layoutlist) { 
     RadioButton r = new RadioButton(this); 
     index++; 
     r.setText(layout); 
     r.setId(index); 
     r.setLayoutParams(lp); 
     r.setTextAppearance(this, R.style.TextBase); 


     mRadioGroup.addView(r); 


    } 

所以,不要忘記之前添加字符串值在layoutlist for循環。而R.style是一些需要風格的單選按鈕文本顯示。