我有一个设置了 CHOICE_MODE_MULTIPLE 的 ListView。我还有额外的标题要管理 (取消)选择所有项目。问题是:这样做是正确的方法吗?很好,但是我不确定那是正确的方法。正如您在下面看到的,有一个 checkAllCheckBoxes 我传递给 header onClickListener() 方法的对象。你怎么看?如有任何回复,我们将不胜感激。
private OnClickListener checkAllCheckboxes = new OnClickListener(){
public void onClick(View v) {
ListView lv = getListView();
int size = getListAdapter().getCount();
if(lv.isItemChecked(0)){
for(int i = 0; i<=size; i++){
lv.setItemChecked(i, false);
}
} else {
for(int i = 0; i<=size; i++){
lv.setItemChecked(i, true);
}
}
}
};
最佳答案
你可以像这样优化你的代码:
替换
if(lv.isItemChecked(0)){
for(int i = 0; i<=size; i++){
lv.setItemChecked(i, false);
}
} else {
for(int i = 0; i<=size; i++){
lv.setItemChecked(i, true);
}
}
通过
boolean check = lv.isItemChecked(0);
for(int i = 0; i <= size; i++)
lv.setItemChecked(i, !check);
关于android - 检查 ListView 中所有复选框的正确方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4876083/