2016-08-13 16 views
1

私はプログラム的にラジオグループ内のラジオボタンのシリーズを作成しています:私は意図したとおり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); 
      } 

それはラジオボタンを作成しますが、私はいくつかのクリックしたときに、彼らはすべてのチェックボックスのようにクリックしたまま、ラジオボタンのように一度にクリックするだけでよいのです。

これはなぜ起こっているのですか?

ラジオグループはXMLであり、次のようになります。

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

答えて

3

のRadioButtonは、彼らだけが同じ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

それは働いた!どうもありがとう!! –

関連する問題