2016-08-13 18 views
1

我編程在RadioGroup中創造了一系列單選按鈕:的Android無線電集團多項選擇問題

for (Soldier soldier:clickedSquad.getMembers()) { 
       Integer I=0; 
       soldier.setId(I); 
       RadioButton radiobutton=new RadioButton(getContext()); 
       radiobutton.setText(soldier.toString()); 
       radiobutton.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT)); 
       radiobutton.setId(soldier.getId()); 
       I++; 
       soldierRgrp.addView(radiobutton); 
      } 

它創建單選按鈕,因爲我打算,但是當我點擊數都保持像點擊複選框,我只需要一次點擊就可以像單選按鈕通常那樣。

任何想法爲什麼會發生這種情況?

的RadioGroup中是XML,看起來如下:

<RadioGroup 
    android:layout_margin="10dp" 
    android:id="@+id/reg_rgrp_soldiers" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"> 
</RadioGroup> 

回答

3

單選按鈕行爲是那樣,只有當他們同id。在你的情況下,他們呢!您每次初始化變量I=0。因此,每個士兵都給予相同的id。士兵們並不特別喜歡那樣!將您的代碼更改爲:

 int i=0; 
     for (Soldier soldier:clickedSquad.getMembers()) { 
      soldier.setId(i++); 
      RadioButton radiobutton=new RadioButton(getContext()); 
      radiobutton.setText(soldier.toString()); 
      radiobutton.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT)); 
      radiobutton.setId(soldier.getId()); 
      soldierRgrp.addView(radiobutton); 
     } 
+0

它的工作!非常感謝!! –