我在我的应用程序中使用了多选列表视图。具体来说就是simple_list_item_activated_1。选择/取消选择列表视图中的所有项目
我有一些代码,一个按钮,将选择所有的listview项目。我有一些逻辑说,如果所有的项目已被选中,则取消选择所有的项目。
当我第一次按下按钮时,它会按预期方式选择列表中的所有项目。当我再次按下按钮时,它会按预期取消选择所有项目。
这是我的问题: 当我第三次按下按钮“selectedCount”仍然等于“childCount”。所以显然我的代码永远不会进入If语句。
有人会知道为什么会发生这种情况吗?或者也许有更好的方式来做什么即时通讯试图实现?
int childCount = officerList.getChildCount();
int selectedCount = officerList.getCheckedItemPositions().size();
if(childCount != selectedCount){
for (int i = 0; i < officerList.getChildCount(); i++) {
officerList.setItemChecked(i, true);
}
}else{
for (int i = 0; i < officerList.getChildCount(); i++) {
officerList.setItemChecked(i, false);
}
}
}