清除arrayadapter不重置已检查的项目

时间:2014-04-01 15:36:33

标签: android listview android-arrayadapter

我在我的arrayadapter上打电话给我:

adapter.clear();

也做了:

adapter.notifyDataSetChanged();

然而,当我询问绑定到该适配器的列表视图的已检查项目时,我仍然会检查项目。

listView.getCheckedItemPositions();

列表视图正在改变(在UI上清除),这是完美的。但为什么列表视图检查项目没有更新?

1 个答案:

答案 0 :(得分:1)

adapter.clear()会自动调用notifyDataSetChanged()(默认行为,我不知道您是否更改过)。你不需要再次使用它。 适配器和列表视图是不同的东西,您可能想要从适配器更改itens而不更改已检查的itens。这就是为什么检查的itens没有取消选中的原因。

您可以使用listView.clearChoices()