正确的方法来检查ListView中所有复选框? [英] Correct way to check all checkboxes in ListView?
本文介绍了正确的方法来检查ListView中所有复选框?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一组CHOICE_MODE_MULTIPLE一个ListView。我也有附加的头管理 (UN)选择的所有项目。现在的问题是:是不是做了正确的方法是什么?那么它的工作原理,但我不知道这就是正确的方法。当你看到下面有一个checkAllCheckBoxes 我传递对象头onClickListener()方法。你怎么看?将不胜感激任何响应。
私人OnClickListener checkAllCheckboxes =新OnClickListener(){
公共无效的onClick(视图v){
ListView的LV = getListView();
INT大小= getListAdapter()getCount将()。
如果(lv.isItemChecked(0)){
的for(int i = 0; I< =大小;我++){
lv.setItemChecked(我,FALSE);
}
} 其他 {
的for(int i = 0; I< =大小;我++){
lv.setItemChecked(我,真正的);
}
}
}
};
解决方案
您可以优化您的code是这样的:
替换
如果(lv.isItemChecked(0)){
的for(int i = 0; I< =大小;我++){
lv.setItemChecked(我,FALSE);
}
} 其他 {
的for(int i = 0; I< =大小;我++){
lv.setItemChecked(我,真正的);
}
}
按
布尔检查= lv.isItemChecked(0);
的for(int i = 0; I< =大小;我++)
lv.setItemChecked(一,检查!);
I have a ListView with set CHOICE_MODE_MULTIPLE. I also have additional header to manage (un)selecting all the items. The question is : is it correct way to do that? Well it works, however I'm not sure thats proper way. As you see below there is an checkAllCheckBoxes object which I pass to header onClickListener() method. What do you think? Would be grateful for any responses.
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);
}
}
}
};
解决方案
You can optimize your code like this :
Replace
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);
}
}
by
boolean check = lv.isItemChecked(0);
for(int i = 0; i <= size; i++)
lv.setItemChecked(i, !check);
这篇关于正确的方法来检查ListView中所有复选框?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文