我在从ListView中删除项目时遇到问题。
我正在使用BaseExpandableListAdapter的子类。
问题在于,当我删除一个项目时,我更改了基础数据,之后我调用了notifyDataSetChanged。一切似乎都好。但是ListView的刷新不会立即发生。因此,如果有人继续检查/取消我的某些项目,他们会指向不再在适配器中的数据(但它们仍然显示在ListView中)。
示例:
假设我有一个包含3个视图的ListView和3个适配器项目(1,2,3):
我选择第3项并按删除。现在它们是适配器中的3个视图和2个项目
调用notifyDataSetChanged(请注意,由于没有时间刷新,ListView仍有3个视图)
我一直在选择第3个项目来查询我的适配器以找到不再存在的项目
我的问题是如何处理这种情况?在调用notifyDataSetChanged和刷新ListView之间似乎是一个间隙,在该间隙内,我们需要检查适配器中收到的所有请求是否仍然有效。
答案 0 :(得分:0)
尝试删除列表项,例如。
filelist.remove("your selected item position".intValue());
这可以解决您的问题。