Android:从ListView中删除项目

时间:2013-04-11 12:38:28

标签: android listview adapter

我在从ListView中删除项目时遇到问题。

我正在使用BaseExpandableListAdapter的子类。

问题在于,当我删除一个项目时,我更改了基础数据,之后我调用了notifyDataSetChanged。一切似乎都好。但是ListView的刷新不会立即发生。因此,如果有人继续检查/取消我的某些项目,他们会指向不再在适配器中的数据(但它们仍然显示在ListView中)。

示例

假设我有一个包含3个视图的ListView和3个适配器项目(1,2,3):

  1. 我选择第3项并按删除。现在它们是适配器中的3个视图和2个项目

  2. 调用notifyDataSetChanged(请注意,由于没有时间刷新,ListView仍有3个视图)

  3. 我一直在选择第3个项目来查询我的适配器以找到不再存在的项目

  4. 我的问题是如何处理这种情况?在调用notifyDataSetChanged和刷新ListView之间似乎是一个间隙,在该间隙内,我们需要检查适配器中收到的所有请求是否仍然有效。

1 个答案:

答案 0 :(得分:0)

尝试删除列表项,例如。

filelist.remove("your selected item position".intValue());

这可以解决您的问题。