我在我的arrayadapter上打电话给我:
adapter.clear();
也做了:
adapter.notifyDataSetChanged();
然而,当我询问绑定到该适配器的列表视图的已检查项目时,我仍然会检查项目。
listView.getCheckedItemPositions();
列表视图正在改变(在UI上清除),这是完美的。但为什么列表视图检查项目没有更新?
答案 0 :(得分:1)
adapter.clear()
会自动调用notifyDataSetChanged()(默认行为,我不知道您是否更改过)。你不需要再次使用它。
适配器和列表视图是不同的东西,您可能想要从适配器更改itens而不更改已检查的itens。这就是为什么检查的itens没有取消选中的原因。
您可以使用listView.clearChoices()。