Android如何动态生成Radio和RadioGroup

在res/layout配置的话,个数都是固定的了啊,要求是一个RadioGroup里面存放若干Radio(这些都是从数据库获取来的数据),然后每次动态生成Radio,有可能这次获取的跟上一次获取的不一样,所以不能再xml文件中写死。
总的来说就是new一个RadioGroup和多个Radio(示例可以用For循环生成多个)如何绑定起来???
是这样写么?
public class RadionButtonTest extends Activity {
/** RadioButton 所属的组。*/
RadioGroup mRadioGroup = new RadioGroup(this);
/**
* @param savedInstanceState ..
*/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
for (int i = 0; i < 10; i++) {
RadioButton radioButton = new RadioButton(this);
radioButton.setText("this is RadioButton i ");
mRadioGroup.addView(radioButton);
}
}
}
但是这样的话在new RadioGroup的时候就报空指针了,main.xml中没有任何修改,保持android工程生成时候的默认内容。

jzy6606172的回答解决了这个问题,但是RadioButton数量过多的时候用LinearLayout一页就放不下了,请问用哪个布局可以自动向下扩展呢 ?? 谢谢!

private LinearLayout layout; //布局 , 可以在xml布局中获得

 private RadioGroup group ; //点选按钮组

 

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        

        layout = new LinearLayout(this); //实例化布局对象

        

        group = new RadioGroup(this); //实例化单选按钮组

        

        //添加单选按钮

        for(int i = 0 ; i < 5 ; i++){

         RadioButton radio = new RadioButton(this);

         radio.setText("radio" + i);

         group.addView(radio);

        }

        

        //将单选按钮组添加到布局中

        layout.addView(group);

        

        this.setContentView(layout);

    } 

可以把单选按钮组放在 ScrollView中 ,这样的话 , 多出的部分可以滚动查看了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-06-15

    获得需要动态生成的数据(如果只是测试或者学习可以手写静态数据)

    先new出一个RadioGroup 实例

    根据数据循环new出Radio 实例并赋值

    将每一个Radio实例添加到RadioGroup里面

    将RadioGroup实例添加到UI布局指定位置