我在数组中有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);
答案 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
的更多信息