单选单选按钮在无线电组安卓



这是我在这个网站上的第一篇文章,我希望它做得很好。我正在尝试在我的单选组中有一个选择,但所有选择都被选中并且无法取消选中。我希望如果选择一个单选按钮,其他按钮将保持未选中状态。这是我到目前为止的代码。

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

亲切问候

应使用单选组而不是LinearLayout作为容器。它将负责相互排斥。

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

相关内容

最新更新