从Android ListView/ArrayAdapter中删除项目不会';文本过滤后无法工作

从Android ListView/ArrayAdapter中删除项目不会';文本过滤后无法工作,android,listview,android-arrayadapter,Android,Listview,Android Arrayadapter,我有一个Android ListView,由ArrayAdapter支持。当用户单击列表中的某个项目时,该项目将被删除。这一切似乎都很好,您可以单击每个项目,直到没有项目剩下 然而,一旦出现文本过滤,一切都会出错。一旦列表被过滤一次,即使该过滤器被清除,适配器上所有后续的remove(Object)调用都无法从可见列表中删除该项。我尝试在删除项之前调用ListView.clearTextFilter(),在删除项之后调用它,而不是全部调用。没有区别 我查看了ArrayAdapter.java的源

我有一个Android ListView,由ArrayAdapter支持。当用户单击列表中的某个项目时,该项目将被删除。这一切似乎都很好,您可以单击每个项目,直到没有项目剩下

然而,一旦出现文本过滤,一切都会出错。一旦列表被过滤一次,即使该过滤器被清除,适配器上所有后续的remove(Object)调用都无法从可见列表中删除该项。我尝试在删除项之前调用ListView.clearTextFilter(),在删除项之后调用它,而不是全部调用。没有区别


我查看了ArrayAdapter.java的源代码,发现一旦设置了过滤,适配器就会使用一个集合来响应查询,但会更新另一个集合。我看不出有什么明显的办法可以让它改变自己的行为。这是一个bug还是我遗漏了什么?

这似乎是一个bug。我报告了它。

现在,当我删除一个项目时,我正在创建一个新的适配器。它可以工作,但效率可能会更高。大约7年后,你找到了解决方案吗?@s.R我甚至不记得这是为了什么项目,但我想我只是采用了上面评论中提到的解决方法(每次使用一个新的适配器)。