在我的应用中,我有多个复选框,我必须将用户限制为5个选项。 之后 - 如果他从复选框中选择另一个选项,则不会标记。
这是我的代码草图 -
Veg.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
if (Veg.isChecked()) {
if (result.length() == 10) {
finalresult = result.substring(0, result.length() - 1);
Veg.setEnabled(false);
} else {
result.append("1,");
System.out.println(result.length());
}
}
}
});
答案 0 :(得分:0)
为什么不使用OnCheckChangedListener。 将所有选中的复选框ID保存在arraylist中,每当选中复选框时,将其添加到arraylist,当取消选中时删除,在onCheckChanged事件中添加arralist.size()的检查,如果大于5,则取消选中setChecked复选框(false) 。
答案 1 :(得分:0)
所有复选框都使用相同的进程,并使用ArrayList禁用和启用复选框。
以下代码不适合编程。
Veg1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
if (Veg1.isChecked())
{
counter++;
if (counter <= 10) {
do your process
call one of the method for ENABLE all uncheck checkboxes
}
else
{
counter--
Veg1.setChecked(false);
call one of the method for DISABLE all uncheck checkboxes
}
// Veg.setEnabled(false); remove this line
} else {
counter--;
//result.append("1,"); remove this line
}
}
}
});