Dynamic Radio Button Control

后端 未结 3 1005
臣服心动
臣服心动 2020-12-31 11:40

Code ...{

private void createRadioButton() {

        final RadioButton[] rb = new RadioButton[5];
        for(int i=0; i<5; i++){
            rb[i]  = ne         


        
相关标签:
3条回答
  • 2020-12-31 12:25

    Your Layout.

        <LinearLayout
        android:id="@+id/linearMain"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        >
        <RadioGroup
            android:id="@+id/radiogroup"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:orientation="vertical"
        >
        </RadioGroup>
    </LinearLayout>
    

    code

       RadioGroup rg = (RadioGroup) findViewById(R.id.radiogroup);//not this RadioGroup rg = new RadioGroup(this);
     rg.setOrientation(RadioGroup.HORIZONTAL);//or RadioGroup.VERTICAL
        for(int i=0; i<5; i++)
        {
            rb[i]  = new RadioButton(this);
            rg.addView(rb[i]); 
            rb[i].setText("Test");
        }
    

    hope this help you.

    0 讨论(0)
  • 2020-12-31 12:31

    You have to create a RadioGroup in the layout file

    <TableRow>
        <RadioGroup
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:id="@+id/radiobuttons">
         </RadioGroup>
    </TableRow>
    

    and then programmatically add buttons to it:

    public void makeRadioButtons(Vector tmpVector, int i,
    LinearLayout.LayoutParams lp)
    {
        RadioButton rb = new RadioButton(this);
        rb.setText((String) tmpVector.elementAt(i));
        //rg is private member of class which refers to the radio group which you can find by id.
        rg.addView(rb, 0, lp);
    
    }
    

    Hope this helps.

    0 讨论(0)
  • 2020-12-31 12:34

    You must add the radio buttons to a RadioGroup and then the RadioGroup to the layout

    I miss some information like what is submit, but your code should look like:

    private void createRadioButton() {
        final RadioButton[] rb = new RadioButton[5];
        RadioGroup rg = new RadioGroup(this); //create the RadioGroup
        rg.setOrientation(RadioGroup.HORIZONTAL);//or RadioGroup.VERTICAL
        for(int i=0; i<5; i++){
            rb[i]  = new RadioButton(this);
            rg.addView(rb[i]); //the RadioButtons are added to the radioGroup instead of the layout
            rb[i].setText("Test");
        }
        ll.addView(rg);//you add the whole RadioGroup to the layout
        ll.addView(submit); 
        submit.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                for(int i = 0; i < 5; i++) { 
                    rg.removeView(rb[i]);//now the RadioButtons are in the RadioGroup
                }  
                ll.removeView(submit);
                Questions();
            }
        });   
    }
    
    0 讨论(0)
提交回复
热议问题