单选Radiogroup android中的单选按钮

时间:2014-12-28 10:57:12

标签: android

这是我在这个网站上的第一篇文章,我希望它做得好。我试图在我的radiogroup中有一个选择,但所有这些选择都被选中,无法取消选中。我想如果选择了一个单选按钮,其他按钮仍未选中。到目前为止,这是我的代码。

    for (int row = 0; row < 1; row++) {  
        LinearLayout ll = new LinearLayout(this);  
        ll.setOrientation(LinearLayout.VERTICAL);  

        for (int i = 1; i <= repItem.length; i++) {  
            final RadioButton rdbtn = new RadioButton(this);  
            rdbtn.setId((row * 2) + i);  
            rdbtn.setText(repItem[i-1]);  
            ll.addView(rdbtn);  

            final RadioButton rd=new RadioButton(this);  
            rdbtn.setOnClickListener(new View.OnClickListener()  
            {  
                @Override  
                public void onClick(View v)  
                {  
                    unCheckOther(rd, rdbtn.getId());  
                }  

                private void unCheckOther(RadioButton rd, int id)  
                {  
                    for (int row = 0; row < 1; row++) {  
                        for (int i = 1; i <= repItem.length; i++) {  
                            int butId=((row * 2) + i);  
                            if(butId != id)  
                            {  
                                rd.setChecked(false);  
                            }  
                        }  
                    }  
                }  
            });  


        }  
        ((ViewGroup) findViewById(R.id.radiogroupchoi)).addView(ll);  
    }

亲切的问候

2 个答案:

答案 0 :(得分:2)

您应该使用RadioGroup而不是LinearLayout作为容器。它将照顾互斥。

答案 1 :(得分:0)

您需要的是RadioGroup。我看到你使用了linearLayout并将所有单选按钮添加到其中。那不是你想要的。您只需将该线性布局更改为RadioGroup即可。