我需要能够在 Android 中选择多个联系人。流程是这样的:
- 用户点击打开联系人应用程序的按钮。
- 但是,我不能选择单个联系人,而是需要能够选择多个联系人(在同一个 Intent 启动中)。
- 如果一个联系人有多个电话号码,我需要用户能够选择他想选择的电话号码。
当我在“消息”应用程序中单击“联系人”时,我的三星 Android 手机(运行 2.3 Gingerbread)中已经存在此功能。请参阅下面的屏幕截图:
最佳答案
没有内置的方法可以做到这一点,因此您需要自己完成大部分工作。幸运的是,这并不难。
显示
要显示您的联系人,您可以使用具有多选选择模式的 ListView ,或者您可以创建自定义适配器并将其绑定(bind)到常规 ListView 。我认为具有多选功能的 ListView 不会让您为每行放置除文本以外的任何内容,但您必须深入挖掘才能找到答案。
我已经将自定义适配器方法用于非常相似的事情(多个电话号码部分除外)。这很容易做到,而且我发现从长远来看,自定义适配器非常有用。
Custom Adapter Listview Tutorial
使用自定义适配器设置,您可以创建数据对象,其中包含一个人的所有信息,包括他们的姓名和电话号码。在自定义适配器的 getView 中,您可以决定显示每条信息的内容/方式和位置。
收集信息
您需要使用 ContactContract API 来获取联系人的信息。
关于Android 多联系人选择器(可选择电话号码),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10449416/