我有一个文本字段,我想做一些智能的自动完成联系人。在我使用的至少一个电子邮件工具中,当我在电子邮件地址字段中输入名称时,它会显示一个自动完成列表,其中包含该字符串,无论它出现在哪个字段中。所以如果我输入“Amy” list 将包括名字、姓氏、公司名称、昵称或电子邮件字段中包含 Amy 的所有记录。
经过一番搜索,我还没有找到任何类似的代码示例——尽管搜索“地址簿”和“联系人”等词会产生很多与我正在寻找的内容无关的点击为了。
我可以使用蛮力方法来查询我想要支持的每个字段并合并列表,但我怀疑在用户实时输入时会非常慢。有谁知道更优雅的解决方案?
我目前正在开发 Android 版本,但一旦我得到这个稳定版本,我就会在 iPhone 上启动,所以跨平台解决方案会更可取。
谢谢您的帮助!-凯伦
回应 Cheesbaron 的评论:Cheesebaron,您引用的线程没有回答我的问题。我找到了许多关于如何使用过滤器进行列表视图的示例。我想要做的是能够匹配联系人列表中的任何字段,并且如果多个字段包含到目前为止已键入的字符串,则联系人应该只出现在列表中一次。许多应用程序都做得很好,所以我希望有一种“标准”的方法来实现它。
<!-- language: lang-none -->
For example, if I type "Am" into my email To: line I might see the following
in my list of possible matches:
Amy Mann amy1543@gmail.com
Fred Johnson American Flag Co. fredj@aflagco.com
Mary James mary@yahoo.com
Lost Traveler Somewhere OutThere amithereyet@hotmail.com
该列表包括在以下四个字段中任意位置具有字符串“am”的每个联系人:名字、姓氏、公司名称、电子邮件地址。(理想情况下,它还包括昵称,以及家庭和工作电子邮件地址。)由于联系人数据库可能非常大,动态过滤这么多字段可能会太慢。我希望有人有一个比我迄今为止所想的更优雅的解决方案。
谢谢!