Android 多联系人选择器(可选择电话号码)

标签 android android-intent android-2.2-froyo

我需要能够在 Android 中选择多个联系人。流程是这样的:

  1. 用户点击打开联系人应用程序的按钮。
  2. 但是,我不能选择单个联系人,而是需要能够选择多个联系人(在同一个 Intent 启动中)。
  3. 如果一个联系人有多个电话号码,我需要用户能够选择他想选择的电话号码。

当我在“消息”应用程序中单击“联系人”时,我的三星 Android 手机(运行 2.3 Gingerbread)中已经存在此功能。请参阅下面的屏幕截图:

enter image description here

enter image description here

enter image description here

最佳答案

没有内置的方法可以做到这一点,因此您需要自己完成大部分工作。幸运的是,这并不难。

显示

要显示您的联系人,您可以使用具有多选选择模式的 ListView ,或者您可以创建自定义适配器并将其绑定(bind)到常规 ListView 。我认为具有多选功能的 ListView 不会让您为每行放置除文本以外的任何内容,但您必须深入挖掘才能找到答案。

我已经将自定义适配器方法用于非常相似的事情(多个电话号码部分除外)。这很容易做到,而且我发现从长远来看,自定义适配器非常有用。

Custom Adapter Listview Tutorial

使用自定义适配器设置,您可以创建数据对象,其中包含一个人的所有信息,包括他们的姓名和电话号码。在自定义适配器的 getView 中,您可以决定显示每条信息的内容/方式和位置。

收集信息

您需要使用 ContactContract API 来获取联系人的信息。

Reading Contact Info

Reading ALL phone numbers for a Contact

关于Android 多联系人选择器(可选择电话号码),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10449416/

相关文章:

java - Android 无法注册外部 jar

android - ListView header 中的 SupportMapFragment

Android:显示可变图像

android - 使用内容提供者获取电子邮件

java - Android从一个Integer arraylist中获取值变成一个数字

android - 从后台服务更新进度的最佳实践 [Android]

android - 如何使用 HTML url 加载新窗口?在安卓系统中

android - 如何使用 Junit 运行 AndroidDriver 测试?

android - Android 客户端无法识别来自服务器的 JSON gcm 消息

android - 处理方向变化时的问题