【问题标题】:Android autocompletetextview with approximate string matching具有近似字符串匹配的Android autocompletetextview
【发布时间】:2012-04-27 08:45:50
【问题描述】:

我正在开发一个包含大约 8000 个印度城市名称的应用程序。当用户输入时,我使用自动完成来帮助用户完成工作。但是一些城市名称的拼写对于其他州的人来说很难猜到。所以我们需要一个近似的字符串匹配来自动完成,而不是默认的精确匹配。

例如有像这样的名字

  • 蒂鲁马伊莱
  • Thirunettur
  • Thiruthuraiyur
  • 蒂鲁瓦鲁尔

还有

  • 蒂鲁内尔维利
  • 蒂鲁曼加兰

如果用户搜索城市“Tirunelveli”,但在文本框中键入“Thirunel”,则自动完成文本视图不会显示名称,并且会进行精确的字符串匹配。

我应该怎么做才能在自动完成下拉列表中获得近似匹配的字符串..

【问题讨论】:

    标签: android autocompletetextview string-search


    【解决方案1】:

    您需要创建一个带有自定义过滤器的自定义 ArrayAdapter(该过滤器基于 Lexographic Distance 小于某个阈值(比如 3)),您需要在适配器的 getFilter() 方法中返回该过滤器。

    【讨论】:

      【解决方案2】:

      经过大量搜索和实验,我自己找到了解决方案..

      要进行自定义字符串匹配,我们需要一个自定义数组适配器,我们需要 extend ArrayAdapter class 并编写我们自己的字符串匹配算法。

      我们需要重写 ArrayAdapter 类的 getFilter 方法来实现此功能,并将 getItemgetCount 方法添加到我们的自定义适配器类中。

      【讨论】:

      • 我对您用于执行近似字符串匹配的技术更感兴趣。
      猜你喜欢
      • 2011-05-11
      • 2013-07-10
      • 1970-01-01
      • 2010-09-08
      • 2016-03-28
      • 2013-04-15
      • 1970-01-01
      • 1970-01-01
      • 2012-06-03
      相关资源
      最近更新 更多