我从 ListView 中删除项目时遇到问题。
我正在使用 BaseExpandableListAdapter 的子类。
问题是当我删除一个项目时,我更改了基础数据,之后我调用了 notifyDataSetChanged。一切似乎都很好。但是 ListView 的刷新不会立即发生。因此,如果有人继续检查/取消检查我的某些项目,他们将指向适配器中不再存在的数据(但它们仍显示在 ListView 中)。
示例:
假设我有一个 ListView,适配器中有 3 个视图和 3 个项目(1、2、3):
我选择第 3 项并按删除。现在它们是适配器中的 3 个视图和 2 个项目
调用 notifyDataSetChanged(注意 ListView 仍然有 3 个视图,因为它没有时间刷新)
我继续选择第三个项目,它将向我的适配器查询不再存在的项目
我的问题是我该如何处理这种情况?这似乎是调用 notifyDataSetChanged 和刷新 ListView 之间的间隔,在该间隔内,我们需要检查适配器中收到的所有请求是否仍然有效。