获取选中的单选按钮值

时间:2016-09-04 17:36:35

标签: java android sqlite

我在尝试从广播组中获取选中的值时遇到了一个小问题。

我使用for循环来创建我的问题和radiogroups。

 LinearLayout a = (LinearLayout) findViewById(R.id.aLayout);
        for (int k = 1; k < 11; k++){
        //CREATE QUESTIONS
        TextView q = new TextView(this);
        q.setText(k + ")" + " " + pssQ[k]);
        a.addView(q);
        //CREATE RADIO BUTTONS
        final RadioButton[] rB = new  RadioButton[5];
        RadioGroup rg = new RadioGroup(this);
        rg.setOrientation(LinearLayout.VERTICAL);
            for(int i = 0; i < 5; i++){
                rB[i] = new RadioButton(this);
                rg.addView(rB[i]);
                rB[i].setText(a1[i]);
            }
        a.addView(rg);
            //get values here??
    }

代码按照我的意图运作。

问题是我不知道如何从每次迭代中获取已检查的单选按钮。我想要收集总共十个。

任何指导都将不胜感激。如果有一个更容易的选择,我会接受建议。

提前致谢。 :)

2 个答案:

答案 0 :(得分:0)

您需要在循环中的每个RadioGroup附加一个检查更改侦听器:

    rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(RadioGroup group, int checkedId) {
            // your logic here
        }
    });

答案 1 :(得分:0)

一种方法是使用附加变量(例如)isChecked作为布尔变量,因此当isChecked为真时,您可以发现用户在任何迭代中检查了哪个单选按钮。