2011-10-21 11 views
9

Estoy usando este código para permitir al usuario elegir un contacto:Android: ¿Cómo escoger varios contactos

Intent contactPickerIntent = new Intent(Intent.ACTION_PICK, Phone.CONTENT_URI); 
startActivityForResult(contactPickerIntent, 1001); 

pero lo que yo quiero hacer es dejar que Hime elegir múltiples contactos (con casillas de verificación). ¿Cómo puedo hacer esto?

+0

Quizás esto ayude: https://github.com/1gravity/Android-ContactPicker (soy el autor) –

Respuesta

14

No podrá hacerlo con la opción de intento ACTION_PICK. Para implementar esto, deberá usar un ListView personalizado con contactos generados a partir de una consulta al proveedor de contenido de contactos.

Si desea utilizar el intento Intent.ACTION_PICK, deberá indicar al usuario que elija uno por vez.

ACTUALIZACIÓN:

Hay varias maneras de hacer esto con una costumbre ListView. La forma antigua (que es compatible con la mayoría de los teléfonos) es un poco larga de explicar, pero afortunadamente hay un buen tutorial here que describe exactamente lo que estás buscando (lista de contactos con casilla de verificación en un ListView personalizado).

Con API 5 y superior, existe una clase ContactsContract que puede ayudarlo a obtener una lista de contactos. Por ejemplo, el código sobre cómo usar esto, mira la aplicación de ejemplo ContactManager de android, específicamente la clase ContactManager y el método populateContactList().

La API para la clase ContactsContract es here también.

+0

¿Se puede agregar el código para hacer esto? (votó +1 para la explicación) – Belgi

+0

@Belgi, he actualizado mi respuesta con varios recursos para comenzar. Personalmente, prefiero usar el método de consulta Contactos (la primera forma como se describe en el tutorial vinculado). –

+4

Su enlace de blog sugerido "http://vikasdp.wordpress.com/2011/02/06/custom-android-listview-to-read-phone-contacts/" está roto ahora, por favor reemplácelo con cualquier otro ejemplo apropiado. – MKJParekh

Cuestiones relacionadas