我有一个ListView允许使用ArrayAdapter
配置多个选项,一切正常但是当我尝试将某些选定项设置为false时getCheckedItemCount
值不会改变
只是为了复制行为,我使用下面显示的代码取消选择所有项目,并且getCheckedItemCount
调用之前和之后的打印值相同
为什么?
for (MyObject post : list) {
int position = photoAdapter.getPosition(post);
System.out.println("count before " + photoListView.getCheckedItemCount());
photoListView.setItemChecked(position, false);
System.out.println("count after " + photoListView.getCheckedItemCount());
}
显然要取消选中我们必须调用clearChoices()
的所有项目,但上面的代码仅用于演示问题
答案 0 :(得分:1)
@dafi我不确定这是否适用于你的情况但是在解决方案下给我正确的数量。最简单的解决方案是手动清除已检查的计数。您只需尝试一下。
this.markersList.clearChoices();
for(int i = 0; i < this.markersList.getCount(); i++)
{
this.markersList.setItemChecked(i, true);
}
尝试这个解决方案。