在android中选择一个单选按钮后,取消选择动态生成的单选按钮

在android中选择一个单选按钮后,取消选择动态生成的单选按钮,android,android-layout,android-activity,radio-button,Android,Android Layout,Android Activity,Radio Button,我从android中服务器返回的json数据动态生成单选按钮 我可以在单选组中显示单选按钮。还可以获取每个单选按钮的id 但当我点击下一个单选按钮时,所有按钮都保持选中状态。没有一个是未经检查的 由于无线号码是动态生成的,因此其大小会有所不同 我的代码片段: if(type.equals("radio_buttons")){ String optionName = regData.getOption(); optionName = Character.toStr

我从android中服务器返回的json数据动态生成单选按钮

我可以在单选组中显示单选按钮。还可以获取每个单选按钮的id

但当我点击下一个单选按钮时,所有按钮都保持选中状态。没有一个是未经检查的

由于无线号码是动态生成的,因此其大小会有所不同

我的代码片段:

if(type.equals("radio_buttons")){

        String optionName = regData.getOption();
        optionName = Character.toString(optionName.charAt(0)).toUpperCase()+optionName.substring(1);

        List listItem = new ArrayList();
        listItem.add(optionName);

        final RadioGroup rg = new RadioGroup(getActivity()); //create the RadioGroup
        rg.setOrientation(RadioGroup.HORIZONTAL);

        final int radioSize = listItem.size();
        final RadioButton[] rb = new RadioButton[radioSize];

        for(int i=0; i<radioSize; i++){
            rb[i]  = new RadioButton(getActivity());
            rg.addView(rb[i]); //the RadioButtons are added to the radioGroup instead of the layout
            rb[i].setId(i);
            rb[i].setText(optionName);
        }

        rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {

                for(int j = 0; j<radioSize; j++){
                    rg.removeViewAt(checkedId);
                }
                /*
                switch (checkedId)
                {
                    case 1:
                        Toast.makeText(OnsiteRegistrationFragment.this.getActivity(), "VIEW ID " + checkedId, Toast.LENGTH_LONG).show();

                    case 2:
                        Toast.makeText(OnsiteRegistrationFragment.this.getActivity(), "VIEW ID " + checkedId, Toast.LENGTH_LONG).show();
                }*/
            }
        });

        this.linearLayout.addView(rg);
} 
if(键入.equals(“单选按钮”)){
字符串optionName=regData.getOption();
optionName=Character.toString(optionName.charAt(0)).toUpperCase()+optionName.substring(1);
List listItem=new ArrayList();
listItem.add(选项名称);
final RadioGroup rg=新的RadioGroup(getActivity());//创建RadioGroup
rg.设置方向(放射组水平);
final int radioSize=listItem.size();
最终RadioButton[]rb=新RadioButton[radioSize];
对于(int i=0;i
LinkedList单选按钮
在创建按钮时,在for循环的radiobuttons中添加radiobuttons

for (int i = 0; i < radioSize.size(); i++) {
    RadioButton rb;
    rb = radiobuttons.get(i);
    rg.removeView(rb);
}
for(int i=0;i
尝试为每个应用程序添加一个idradiobutton@zozelfelfo你能告诉我现在该做什么吗;j@user3676184不。这就是为什么贴在这里。你知道哪里需要修复吗?我想你会在这个for循环之后得到NPE。对于(int j=0;jj),你需要分别移除每个按钮
for (int i = 0; i < radioSize.size(); i++) {
    RadioButton rb;
    rb = radiobuttons.get(i);
    rg.removeView(rb);
}