Android复选框数组

时间:2013-11-29 11:02:54

标签: android

我在数组中有12个CheckBox,我必须检查是否检查了多于1个CheckBox我必须得到toast信息"不能选择多于1个复选框"。

我的代码:

chkArray = new CheckBox[12];
chkArray[0]=(CheckBox) findViewById(R.id.checkBox1);
chkArray[1]=(CheckBox) findViewById(R.id.checkBox2);
chkArray[2]=(CheckBox) findViewById(R.id.checkBox3);
chkArray[3]=(CheckBox) findViewById(R.id.checkBox4);
chkArray[4]=(CheckBox) findViewById(R.id.checkBox5);

等等

chkArray[0].setOnClickListener(mListener);
chkArray[1].setOnClickListener(mListener);
chkArray[2].setOnClickListener(mListener);

3 个答案:

答案 0 :(得分:0)

一个简单的解决方案是在onCheckedChanged侦听器中添加一个循环,您可以在其中选中每个复选框的true或false。如果选中了多个复选框(包括最后选中的复选框),请将该复选框设置为false并显示该消息。

答案 1 :(得分:0)

试试这个

http://developer.android.com/reference/android/util/SparseBooleanArray.html

以索引为键存储布尔值数组。

把它放在复选框的点击监听器

if (mSparseBooleanArray.get(i)) {
            //here value with true state
                            //here you can know any one  item is selected

          Toast.makeText(getContext(),"cannot select more than 1 checkbox",
                       Toast.LENGTH_LONG).show();
                      return;

            }

答案 2 :(得分:0)

我不确定你要完成什么,但听起来你想要无线电按钮的功能而不是复选框。

<强>单选按钮:

  

单选按钮允许用户从一组中选择一个选项。您应该使用单选按钮作为互斥的可选集。

http://developer.android.com/guide/topics/ui/controls/radiobutton.html

的更多信息