从通讯录自动完成

时间:2013-09-26 20:32:53

标签: mono xamarin.android xamarin

我有一个文本字段,我想做一些智能自动填充联系人。在我使用的至少一个电子邮件工具中,当我在电子邮件地址字段中键入名称时,它会显示一个自动完成列表,其中包含该字符串,无论它出现在哪个字段中。所以,如果我输入“Amy”,列表将包括在名字,姓氏,公司名称,昵称或电子邮件字段中包含Amy的所有记录。

经过一些搜索,我找不到任何类似的代码示例 - 虽然搜索“地址簿”和“联系人”这样的词会产生很多与我无关的点击我正在寻找。

我可以使用强力方法查询我想要支持的每个字段并合并列表,但我怀疑在用户实时键入时会非常慢。有谁知道更优雅的解决方案?

我目前正在开发Android版本,但是一旦我将这个版本保持稳定就会在iPhone上启动,因此跨平台解决方案会更好。

感谢您的帮助! -Karen

回应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”的每个联系人:名字,姓氏,公司名称,电子邮件地址。 (理想情况下,它还包括昵称,以及家庭和工作电子邮件地址。)由于联系人数据库可能非常大,因此动态过滤这么多字段可能会太慢。我希望有人比我到目前为止想到的更优雅。

谢谢!

0 个答案:

没有答案