Добавление фотографии контакта пользователя с телефона в ListView? : D - PullRequest
1 голос
/ 01 марта 2012

Я создал список контактов в телефоне пользователя, теперь я хочу добавить фотографию пользователя (не из фб), как это сделать?: D Это часть моего кода:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    ContentResolver cr = getContentResolver();
    Cursor cursor = cr.query(Uri.parse("content://sms/inbox"), null, null,
            null, null);

    int indexBody = cursor.getColumnIndex("body");
    int indexAddr = cursor.getColumnIndex("address");

    if (indexBody < 0 || !cursor.moveToFirst())
        return;

    smsList.clear();

    do {
        String str = "Sender : " + cursor.getString(indexAddr) + "\n"
                + cursor.getString(indexBody);
        smsList.add(str);
        // ADDRESS[total] = cursor.getString(indexAddr);
        // total++;
    } while (cursor.moveToNext());

    ListView lvSms = (ListView) findViewById(R.id.SMSList);
    lvSms.setAdapter(new ArrayAdapter<String>(this,
            android.R.layout.simple_list_item_1, smsList));

    // cursor.requery();
    lvSms.setOnItemClickListener(this);
}

Я создаю список в этом коде:

do {
        String str = "Sender : " + cursor.getString(indexAddr) + "\n"
                + cursor.getString(indexBody);
        smsList.add(str);
        // ADDRESS[total] = cursor.getString(indexAddr);
        // total++;
    } while (cursor.moveToNext());

    ListView lvSms = (ListView) findViewById(R.id.SMSList);
    lvSms.setAdapter(new ArrayAdapter<String>(this,
            android.R.layout.simple_list_item_1, smsList));

    // cursor.requery();
    lvSms.setOnItemClickListener(this);

Вот и все, я обнаружил, что я должен использовать Bitmap, это правда?Спасибо всем: D

PS: английский не является моим родным языком, так что извините, если я сделал какую-то ошибку: D

1 Ответ

2 голосов
/ 01 марта 2012
Uri contactUri = ContentUris.withAppendedId(Contacts.CONTENT_URI,
                contactId);
        Uri photoUri = Uri.withAppendedPath(contactUri,
                Contacts.Photo.CONTENT_DIRECTORY);
        Cursor cursor = getContentResolver().query(photoUri, null, null, null,
                null);

с помощью этого запроса вы можете получить URL-адрес изображения для ваших фотографий пользователя в вашем списке контактов, чтобы отобразить вместе с именем и номером в списке, вам нужно использовать Base или любой другой пользовательский адаптер.

...