【问题标题】:Android - Dynamic Radio Buttons ProblemAndroid - 动态单选按钮问题
【发布时间】:2011-08-24 21:50:08
【问题描述】:

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

这样的单选按钮

*单选按钮1 *单选按钮2

*单选按钮1 *单选按钮2

*单选按钮1 *单选按钮2

*单选按钮1 *单选按钮2

。 . .

.

等等..取决于循环!

这是我的代码中的 sn-p,它仅适用于一行中的 2 个单选按钮,但是当我增加 count 的值时。 .我得到无线电组孩子已经有父母的android运行时错误。 :S

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));

    }

请帮忙。谢谢

【问题讨论】:

    标签: android list arraylist radio-button radio-group


    【解决方案1】:

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

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

    【讨论】:

    • Ohhhhh, Yessss my badd 非常感谢 Frenkenstain 我将此标记为正确答案 它就像一个魅力 非常感谢
    • 您能否帮我从每行的每个单选按钮中获取值。 .这对我有很大帮助.. (:
    • 您的所有 RadioGroup 都在一个列表中。你可以通过这个循环:for(int i=0;i &lt; count; i++){ int id = allRadioGroup.get(i).getCheckedRadioButtonId(); // Your first radiobutton ("private") has id 100, the second ("public) one has id 101 (as specified by you earlier) // do something depending on which radiobutton that is selected }
    • @Frenkenstain :我没有通过尝试这个例子得到结果......实际上,我尝试了与具有两个 RadioButtons 的多个 RadioGroups 相同......帮助我抓住这个概念......!谢谢你。
    猜你喜欢
    • 2012-03-11
    • 1970-01-01
    • 2013-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多