如何限制可以检查的复选框数量?

我有4个复选框。 我希望用户只选择其中两个。 如何设置该限制?

你可以很容易地得到一个int变量来存储当前检查了多少个复选框…然后在调用onCheckedChanged() ,你检查该变量,如果它已经是要检查的第三个复选框,你只需将其设置为unchecked再次…

假设您从未选中的所有复选框开始。 所以你也是:

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

(我没有测试过代码,但它应该可以工作。)