【问题标题】:Removing items from Android ListView/ArrayAdapter doesn't work after text filtering文本过滤后从 Android ListView/ArrayAdapter 中删除项目不起作用
【发布时间】:2011-03-14 03:13:33
【问题描述】:

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

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

我查看了 ArrayAdapter.java 的源代码,似乎一旦设置了过滤,适配器就会使用一个集合来响应查询,但会更新另一个集合。我看不出有什么明显的方法可以让它恢复其行为。这是一个错误还是我错过了什么?

【问题讨论】:

  • 现在我正在删除一个项目时创建一个新适配器。它有效,但它可能更有效。

标签: android listview android-arrayadapter


【解决方案1】:

这似乎是一个错误。我举报了here

【讨论】:

  • 7年后,你找到解决办法了吗?
  • @S.R 我什至不记得这是针对哪个项目的,但我想我只是采用了上面评论中提到的解决方法(每次都使用新适配器)。
猜你喜欢
  • 2010-11-22
  • 1970-01-01
  • 2011-06-09
  • 2016-07-30
  • 2021-06-28
  • 1970-01-01
  • 2015-06-02
  • 1970-01-01
相关资源
最近更新 更多