2012-01-27 2 views
0

Возможно ли прочитать более одного контакта из списка контактов из моего приложения. ?? Я нашел, как получить список контактов и прокрутить список.читать контакты в android

How to read contacts on Android 2.0

но можно выбрать несколько из них из списка contacts.do мне нужно создать отдельный макет для выбора контактов моего выбора и загрузить макет с данными из списка контактов ?? пожалуйста помоги.

+0

Похоже, вы говорите о двух разных вещах: Вы говорите о программном чтении контактов с ContactsContractProvider? Или вы говорите о выборе контактов с помощью намерения CONTACT_PICK? –

ответ

0

Очевидно, что вы можете выбрать контакты по вашему выбору из списка контактов. Но вам просто нужно найти правильное предложение «где» в запросе (например, какой тип контактов вы хотите из списка).

И да, вам нужно создать отдельный макет, чтобы показать их.

Пример: Получение контактов с телефоном

Cursor cursor = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI,null, ContactsContract.Contacts.HAS_PHONE_NUMBER+"='true'", null, null); // gives you the list of contacts who has phone numbers 

while (cursor.moveToNext()) { 

    String contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID)); 
    Cursor phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = "+ contactId, null, null); 
    while (phones.moveToNext()) { 
     String phoneNumber = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));     
     } 
     phones.close(); 
} 

Надежда, я получаю ваше требование не correctly.If, пожалуйста, дайте мне знать!

+0

на самом деле его не о разделе «где». Я хочу, чтобы выбрать некоторые из контактов с помощью флажков (предоставляемых стороной контактов в новом xml.) Как вы думаете, это можно сделать в так же??? – scooby

+0

Итак, вы имеете в виду, что вы заполняете все контакты на одном экране с помощью флажка для каждого из них, и вы хотите переустановить контакты, для которых установлен флажок? – Hiral

+0

Если это так, вам нужно сохранить идентификаторы выбранных контактов в массиве, а затем снова запросить их из ContentResolver, чтобы заполнить их в списке. – Hiral

-1
  1. В основном вам нужно перебрать все контакты с их уникальным идентификатором называется contact_id.

  2. Избегайте использования курсоров внутри курсоров в петле.

попробуйте это демо-приложение. видеть, как быстро он читает контакты надлежащим образом андроида

Source code attached

+0

Хотя эта ссылка может ответить на вопрос, лучше включить основные части ответа здесь и предоставить ссылку для справки. Ответные ссылки могут стать недействительными, если связанная страница изменится. –

+0

уверен. Я предоставлю некоторую информацию –

Смежные вопросы