0

我有一个文本字段,我想做一些智能的自动完成联系人。在我使用的至少一个电子邮件工具中,当我在电子邮件地址字段中输入名称时,它会显示一个自动完成列表,其中包含该字符串,无论它出现在哪个字段中。所以如果我输入“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”的每个联系人:名字、姓氏、公司名称、电子邮件地址。(理想情况下,它还包括昵称,以及家庭和工作电子邮件地址。)由于联系人数据库可能非常大,动态过滤这么多字段可能会太慢。我希望有人有一个比我迄今为止所想的更优雅的解决方案。

谢谢!

4

0 回答 0