android-如何显示来自联系人ID的联系人照片?

android-如何显示来自联系人ID的联系人照片?,第1张

概述此代码(在我的CustomAdapter类中)仅基于向我发送文本消息的联系人显示联系人ID,并将其放入ArrayList,然后显示列表.我在每个联系人ID旁边都有一个名为holder.photo的ImageView.如何在ImageView中显示联系人的照片?Stringfolder="content://sms/inbox/";Urim

此代码(在我的CustomAdapter类中)仅基于向我发送文本消息的联系人显示联系人ID,并将其放入ArrayList,然后显示列表.

我在每个联系人ID旁边都有一个名为holder.photo的ImageVIEw.如何在ImageVIEw中显示联系人的照片?

        String folder = "content://sms/inBox/";        Uri mSmsqueryUri = Uri.parse(folder);        messages = new ArrayList<String>();        contactID = new ArrayList<String>();        SMS = new ArrayList<String>();        try {            c = context.getContentResolver().query(mSmsqueryUri,                    new String[] { "_ID", "address", "date", "body" },                    null, null, null);            if (c == null) {                Log.i(TAG, "cursor is null. uri: " + mSmsqueryUri);            }        } catch (Exception e) {            //Log.e(TAG, e.getMessage());        } finally {            c.close();        }            c.movetoFirst();            while (c.movetoNext()) {                phoneNumber = c.getString(0);                contactID.add(phoneNumber);            }        holder.photo.?????        //contact will cycle through all names and display each in a ListvIEw.        holder.contact.setText(contactID.get(position);

目前,我的列表视图显示以下内容:

> androID_icon —–约翰·杜
> androID_icon —–简史密斯
> androID_icon —– Foo barr

解决方法:

尝试这个..

public voID getContacts(ContentResolver cr) {    Cursor phones = cr.query(            ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null,            null, null);    while (phones.movetoNext()) {        String name = phones                .getString(phones                        .getColumnIndex(ContactsContract.CommonDataKinds.Phone.disPLAY_name));        String contactID = phones                .getString(phones                        .getColumnIndex(ContactsContract.CommonDataKinds.Phone.CONTACT_ID));       Bitmap bitmap = loadContactPhoto(                getContentResolver(), Long.valueOf(contactID))       }    phones.close();

获取位图图像

public static Bitmap loadContactPhoto(ContentResolver cr, long ID) {    Uri uri = ContentUris.withAppendedID(            ContactsContract.Contacts.CONTENT_URI, ID);    inputStream input = ContactsContract.Contacts            .openContactPhotoinputStream(cr, uri);    if (input == null) {        return null;    }    return BitmapFactory.decodeStream(input);}
总结

以上是内存溢出为你收集整理的android-如何显示来自联系人ID的联系人照片?全部内容,希望文章能够帮你解决android-如何显示来自联系人ID的联系人照片?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1093905.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存