2012-03-25 20 views

答えて

4

何か:

.... 
RadioGroup group = new RadioGroup(this); 
group.setOrientation(RadioGroup.HORIZONTAL); 
RadioButton btn1 = new RadioButton(this); 
btn1.setText("BTN1"); 
group.addView(btn1); 
RadioButton btn2 = new RadioButton(this); 
group.addView(btn2); 
btn2.setText("BTN2"); 
.... 
RadioButton btnN = new RadioButton(this); 
group.addView(btnN); 
btnN.setText("BTNN"); 
yourLayout.addView(group); 
.... 
+0

ありがとう!それは素晴らしい。 –

0

これは、仕事をする:

int buttons = 5; 

    RadioGroup rgp = new RadioGroup(getApplicationContext()); 

    for (int i = 1; i <= buttons; i++) { 
     RadioButton rbn = new RadioButton(this); 
     rbn.setId(1 + 1000); 
     rbn.setText("RadioButton" + i); 
     //Attach button to RadioGroup. 
     rgp.addView(rbn); 
    } 

    ViewGroup viewGroup = (ViewGroup) ((ViewGroup) this 
      .findViewById(android.R.id.content)).getChildAt(0); 
    viewGroup.addView(rgp); 

これは完全な例である:

public class MainActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     //Defining buttons quantity! 
     int buttons = 5; 

     //Create a new instance of RadioGroup. 
     RadioGroup rgp = new RadioGroup(getApplicationContext()); 

     //Create buttons! 
     for (int i = 1; i <= buttons; i++) { 
      RadioButton rbn = new RadioButton(this); 
      rbn.setId(1 + 1000); 
      rbn.setText("RadioButton" + i); 
      //Attach button to RadioGroup. 
      rgp.addView(rbn); 
     } 

     //Get the root view. 
     ViewGroup viewGroup = (ViewGroup) ((ViewGroup) this 
       .findViewById(android.R.id.content)).getChildAt(0); 
     viewGroup.addView(rgp); 


    } 
} 

そして、これが結果です。

enter image description here

あなたは、XMLレイアウトに定義されたRADIOGROUPを使用し、ボタンがthis answerを見るdinamically追加する必要がある場合。

関連する問題