2013-04-11 110 views
0

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

我正在使用BaseExpandableListAdapter的子类。

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

说我有与适配器3次和3项一个ListView(1,2,3):

  1. 我选择项3并按删除。现在,他们3次,并在适配器

  2. 呼叫notifyDataSetChanged 2项(注意ListView控件仍然有3次,因为它没有来得及刷新)

  3. 我一直选择将查询第3项我的适配器不再存在的项目

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

+0

发布您的代码... – Triode 2013-04-11 12:40:07

+0

'我继续选择第三个项目,它将查询我的适配器以查找不再存在的项目。所以这就是您在调试器中看到的内容?现在是否崩溃?正如Rajesh所说,发布你的代码。 – 2013-04-11 13:00:00

+0

是的,它正在崩溃。我可以防止崩溃检查项目是否仍然存在,但我想知道这是否是正确的方法。 – mmmm 2013-04-11 13:13:37

回答

0

尝试删除您的列表项目。

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

这可能会解决您的问题。

相关问题