在Radio Group中选择了两个单选按钮

use*_*087 2 android android-radiogroup

在此处输入图片说明

在收音机组中选择了两个按钮。
我不知道我哪里错了。请帮帮我。

final RadioGroup rg=new RadioGroup(Survay_MainActivity.this);
rg.clearCheck();
rg.setId(Integer.valueOf(entry1.getKey()));  
Log.v("rg getid", "rg"+rg.getId());
for(int i =0;i<values.size();i++){
    // Create Button
    final RadioButton btn = new RadioButton(Survay_MainActivity.this);
    btn.setId(i);
    btn.setTextColor(Color.parseColor("#000000"));
    btn.setBackgroundColor(Color.TRANSPARENT);
    btn.setGravity(Gravity.LEFT);
    btn.setText(values.get(i));

    rg.addView(btn);
    btn.setLayoutParams(params);
    btn.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
            JSONObject quesAns = new JSONObject();
            String ans=btn.getText().toString().trim();
            try {
                quesAns.put(String.valueOf(rg.getId()), ans);
            } catch (JSONException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            jsonarray.put(quesAns);    
            Log.v("jsonarray", "jsonarray"+jsonarray);
        }
    });
}     
views.addView(rg);     
Run Code Online (Sandbox Code Playgroud)

1)我正在循环外创建RadioGroup。

2)在for循环中将单选按钮添加到RadioGroup

3)循环完成后,将RadioGroup添加到衬里布局。

小智 6

您只需要为不同的单选按钮更改不同的ID。gen文件中可能存在一些id冲突。 单选按钮1:android:id =“ @ + id / one单选按钮2:android:id =” @ + id / two“单选按钮3:android:id =” @ + id / three“

希望这会有所帮助。