您可以轻松地使用一个
int变量来存储当前选中的复选框的数量…然后
onCheckedChanged()调用任何时间,检查该变量,如果它已经是要选中的第三个复选框,则只需将其设置为再次取消选中即可。
假设您首先取消选中所有复选框。所以你也是:
int numberOfCheckboxesChecked = 0;
然后设置
OnCheckChangedListener:
checkbox1.setonCheckedChangeListener(new onCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if (isChecked && numberOfCheckboxesChecked >= 2) { checkbox1.setChecked(false); } else { // the checkbox either got unchecked // or there are less than 2 other checkboxes checked // change your counter accordingly if (isChecked) { numberOfCheckboxesChecked++; } else { numberOfCheckboxesChecked--; } // now everything is fine and you can do whatever // checking the checkbox should do here } }});(我尚未测试过代码,但应该可以。)



