【问题标题】:AutoCompleteTextView, ArrayAdapter and notifyDataSetChanged()AutoCompleteTextView、ArrayAdapter 和 notifyDataSetChanged()
【发布时间】:2011-06-08 04:00:38
【问题描述】:

我正在使用带有 ArrayAdapter 的 AutoCompleteTextView,它的工作方式与预期的一样。

问题是,我必须使用自动完成值更改数组。调用 notifyDataSetChanged() 没有帮助。未显示任何更改。

你知道解决这个问题的方法吗?

【问题讨论】:

标签: android adapter android-arrayadapter


【解决方案1】:

您需要为问题添加更多详细信息,但根据您对问题的猜测,我会说实施中存在一些问题。 notifyDataSetChanged() 通知视图重新加载数据。如果 ArrayAdapter 中的数据设置方法引用了未更改的数据实体,notifyDataSetChanged() 将不起作用。

扩展 ArrayAdapter 的自定义适配器实现通常具有一个内部数据结构,该结构是适配器的数据源,其中包含您需要的 AutoComplete 值。

【讨论】:

  • 好吧...我在一年前问过这个问题。我什至不确定我在哪个项目中使用了它。不过,谢谢你的回答。至少我赞成,因为总的来说你是对的。
  • 哈哈...是的,我注意到了日期,但我认为这个问题在我的搜索中很早就出现了,所以我认为如果列出答案可能会对其他人有所帮助。干杯。
【解决方案2】:

不要修改ArrayList 并调用notifyDataSetChanged(),因为它对 ArrayAdapters 没有影响(实现似乎已损坏)。

直接在ArrayAdapter 上使用clear()add()insert()remove(),而不是在ArrayList 上使用这些方法。

【讨论】:

  • 直到今天仍然如此。它通过调用ArrayAdapter#remove(Object) 后跟ArrayAdapter#notifyDataSetChanged 来工作。
猜你喜欢
  • 2012-04-20
  • 1970-01-01
  • 2023-03-14
  • 1970-01-01
  • 2012-01-26
  • 1970-01-01
  • 2015-06-10
  • 1970-01-01
  • 2013-04-19
相关资源
最近更新 更多