你可以使用 onCheckedChangeListener 。
添加一个 private 整数:private int checkedCounter;
初始化它:checkedCounter = 0;
设置侦听器:yourCheckbox = (CheckBox) findViewById(R.id.itsId);
yourCheckbox.setOnCheckedChangeListener(new OnCheckedChangeListener()
{
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
{
if (checkedCounter == 5 && isChecked)
{
yourCheckbox.setChecked(false);
}
else if checkedCounter == 5 &&!isChecked)
{
checkedCounter--;
}
else if (checkedCounter <5)
{
(isChecked? checkedCounter++ : checkedCounter--);
}
}
});
我现在不能运行这个代码,所以检查条件。 实际上,也可以用另一种方法来完成: 选中 5个复选框时,可以使用 setEnabled(false) 方法。