我使用这个SwipeToDismissListener关闭列表视图中的项目。Android SwipeToDismiss ListView meuff up项目
的解聘工作正常,并返回正确的解雇位置,但后来事情开始变得奇怪我。
在onDismiss,我从我的适配器删除项目:
public void onDismiss(ListView listView, int[] reverseSortedPositions) {
for (int i: reverseSortedPositions) {
Item item = adapter.getItem(i);
adapter.remove(item);
}
}
当的ListView现在redrawed,项目开始看起来像列表中的其他项目(所以A项显示项目的文本B)但如果我实现了一个onClickListener并检查它实际是什么项目,它是正确的,所以它显然是图形问题。
我可以修复这个错误的外观通过调用adapter.notifydatasetchanged 2项独立次点击.... 它不adapter.notifydatasetchanged工作,如果我只是把它一次,或者如果我把它推迟,但自动...
有人有一个想法这里发生了什么?
此外我注意到,我的adapter.getView被称为每个项目多次,如果只有一个重绘应该发生,不知道这是否正常。