2012-04-27 110 views
0

我正在开发一个包含大约8000个印度城市名称的应用程序。而当用户输入我使用自动完成来帮助用户完成这项工作。但是一些城市名称的拼写很难从其他州的人那里得到。所以我们需要一个大致的字符串匹配来实现自动完成,而不是精确匹配。使用近似字符串匹配的Android自动完成文本视图

例如有像

  • 名Thirumayilai
  • Thirunettur
  • Thiruthuraiyur
  • 蒂鲁瓦鲁尔

而且还

  • 蒂鲁内尔维利
  • 蒂鲁芒格阿拉姆

如果全市蒂鲁内尔维利“但类型的文本框为“Thirunel”的autocompletetextview用户搜索好好尝试一下显示的名称和它做了精确的字符串匹配。

是我应该做的就是在自动完成下拉列表近似匹配字符串..

回答

0

搜索和实验,我找到了解决办法我自己的很多。经过

要做到自定义字符串匹配,我们需要,我们需要extend ArrayAdapter class和我们自己写的字符串匹配算法的自定义阵列适配器。

我们需要在此改变一个ArrayAdapter类的getFilter方法实现此功能,并getItemgetCount方法添加到我们的自定义适配器类。

+0

我对你用于执行近似字符串匹配的技术更感兴趣。 – hitmaneidos 2014-04-09 07:16:25

5

你需要创建一个自定义ArrayAdapter使用自定义过滤器(该过滤器基于Lexographic Distance小于一定的阈值(的说3))你需要返回你的适配器的getFilter()方法。

相关问题