如何限制可以检查的复选框数量?
我有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 } } });
(我没有测试过代码,但它应该可以工作。)