Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android-动态单选按钮问题_Android_List_Arraylist_Radio Button_Radio Group - Fatal编程技术网

Android-动态单选按钮问题

Android-动态单选按钮问题,android,list,arraylist,radio-button,radio-group,Android,List,Arraylist,Radio Button,Radio Group,请帮我解决这个问题,我试图在一个for循环中根据用户输入动态生成两个单选按钮,我想要的是这样的单选按钮 *收音机按钮1*收音机按钮2 *收音机按钮1*收音机按钮2 *收音机按钮1*收音机按钮2 *收音机按钮1*收音机按钮2 。 . 等等。。取决于循环 这是我的代码片段,它只适用于一行中的两个单选按钮,但是当我增加count的值时。我收到radiogroup子级已具有父级的android运行时错误: List<RadioGroup> allradioGroup = new Arra

请帮我解决这个问题,我试图在一个for循环中根据用户输入动态生成两个单选按钮,我想要的是这样的单选按钮

*收音机按钮1*收音机按钮2

*收音机按钮1*收音机按钮2

*收音机按钮1*收音机按钮2

*收音机按钮1*收音机按钮2

。 .

等等。。取决于循环

这是我的代码片段,它只适用于一行中的两个单选按钮,但是当我增加count的值时。我收到radiogroup子级已具有父级的android运行时错误:

List<RadioGroup> allradioGroup = new ArrayList<RadioGroup>();
RadioGroup radioGroup;

List<RadioButton> allRadio = new ArrayList<RadioButton>();
RadioButton radioButton;

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

        /* Defining RadioGroup */
        radioGroup = new RadioGroup(this);
        radioGroup.setOrientation(RadioGroup.HORIZONTAL);

        allradioGroup.add(radioGroup);


        /* Displaying Radio Buttons */
        for (int j = 0; j < 2; j++) {
            radioButton = new RadioButton(this);
            radioButton.setTextColor(getResources().getColor(R.color.grey));
            radioButton.setId((j + 100));

            allRadio.add(radioButton);

            if (allRadio.get(j).getId() == 100) {
                radioButton.setText("private");
            } else if (allRadio.get(j).getId() == 101) {
                radioButton.setText("public");
            }

                allradioGroup.get(i).addView(allRadio.get(j), j,
                        layoutParams);
        }

        linear.addView(allradioGroup.get(i));

    }
List allradioGroup=new ArrayList();
放射组放射组;
List allRadio=new ArrayList();
单选按钮单选按钮;
for(int i=0;i

请帮忙。谢谢

您的问题是这一行:“allRadio.get(i).addView(allRadio.get(j),j,layoutParams);”


创建第二行时,参数j也将在0-1范围内。您正在尝试使用allRadio.get(j),它在第二次运行时将返回您创建的第一个单选按钮(它已经有一个父按钮)。要解决此问题,请将“j”替换为:“i*2+j”。这应该可以解决问题。

您的问题是这样一行:“allRadio.get(i).addView(allRadio.get(j),j,layoutParams);”


创建第二行时,参数j也将在0-1范围内。您正在尝试使用allRadio.get(j),它在第二次运行时将返回您创建的第一个单选按钮(它已经有一个父按钮)。要解决此问题,请将“j”替换为:“i*2+j”。这应该可以解决问题。

Ohhhh,是的,我很高兴,非常感谢Frenkenstain,我将此标记为正确答案,它很有魅力,谢谢,你能帮我从每行的每个单选按钮获取值吗。这对我有很大帮助。。(:您的所有RadioGroup都在一个列表中。您可以循环执行以下操作:
for(int i=0;i
@Frenkenstain:我没有通过尝试这个例子得到结果…事实上,我尝试了两个单选按钮的多个放射组…帮助我理解这个概念…谢谢你。哦,是的,我的badd非常感谢Frenkenstain,我将此标记为正确答案,它非常有效谢谢你能在fet上帮助我吗正在从每行的每个单选按钮清除值..这将对我有很大帮助..(:您的所有RadioButtonid组都在一个列表中。您可以循环执行以下操作:
for(int i=0;i
@Frenkenstain:我没有通过尝试此示例获得结果…实际上,我尝试了使用两个单选按钮的多个RadioGroup…帮助我理解此概念..!谢谢你。