Android 如何获取可以选中的复选框数?
我有一个包含3个不同复选框的活动。现在我想验证至少必须选中2个复选框,但我无法实现这一点。请帮忙 代码:Android 如何获取可以选中的复选框数?,android,android-checkbox,Android,Android Checkbox,我有一个包含3个不同复选框的活动。现在我想验证至少必须选中2个复选框,但我无法实现这一点。请帮忙 代码: 将条件语句更改为 if((checkPC && checkGM) || (checkGM && checkMN) || (checkPC && checkMN)) { // YOUR CODE } 将条件语句更改为 if((checkPC && checkGM) || (checkGM && check
将条件语句更改为
if((checkPC && checkGM) || (checkGM && checkMN) || (checkPC && checkMN)) {
// YOUR CODE
}
将条件语句更改为
if((checkPC && checkGM) || (checkGM && checkMN) || (checkPC && checkMN)) {
// YOUR CODE
}
为所有复选框添加checkedChangeListener,并根据签入更新计数
int checkedCount = 0;
chkProtectMoney.setOnCheckedChangeListener(new OnCheckedChangeListener()
{
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
{
if ( isChecked )
{
checkedCount++;
}else{
checkedCount--;
}
if(checkedCount >= 2){
// voila
}else{
//alert to check atleast two
}
}
});
//add for other two same logic then
为所有复选框添加checkedChangeListener,并根据签入更新计数
int checkedCount = 0;
chkProtectMoney.setOnCheckedChangeListener(new OnCheckedChangeListener()
{
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
{
if ( isChecked )
{
checkedCount++;
}else{
checkedCount--;
}
if(checkedCount >= 2){
// voila
}else{
//alert to check atleast two
}
}
});
//add for other two same logic then
您可以使用整数计数
或
您可以使用整数计数
或
为什么不简单地使用计数器来达到这个目的?为什么条件是这样的?O.O不应该是ifcheckPC和checkGM | | checkGM和checkMN | | checkPC和checkMN?那些是什么!为什么不简单地使用计数器呢?为什么条件是这样的?O.O不应该是ifcheckPC和checkGM | | checkGM和checkMN | | checkPC和checkMN?那些是什么!对于
private int getCheckedCount() {
int count = 0;
if (checkBox1.isChecked())
count++;
if (checkBox2.isChecked())
count++;
if (checkBox3.isChecked())
count++;
return count;
}
if(getCheckedCount()>=2){
// Do your stuff
}
if(checkBox1.isChecked() && checkBox2.isChecked()
|| checkBox1.isChecked() && checkBox3.isChecked()
|| checkBox2.isChecked() && checkBox3.isChecked()){
// Do stuff
}