0

这是我的代码,在我的列表视图中可以很好地显示联系人照片:

 bitmap = loadContactPhoto(getContentResolver(), id);

   if(bitmap!=null){
        favIcon.setImageBitmap(bitmap);
    }
    else{
    }

    String[] from = { ContactsContract.Contacts.PHOTO_THUMBNAIL_URI, ContactsContract.Contacts.DISPLAY_NAME};
    int to[] = new int[]{
            R.id.ivDefContact,
            R.id.tvContactName
    };

 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);

}

当没有为联系人分配照片时,如何显示默认 imageView 的资源?

4

2 回答 2

0
    if(bitmap!=null)
{ favIcon.setImageBitmap(bitmap); }
 else
{ favIcon.setImageDrawable(R.id.yourimg); } 

这应该做!

将您的默认图像放在可绘制文件夹中。

于 2013-06-09T07:29:23.393 回答
0

我的答案与 Niraj 的相似,但在我的代码中 setImageResource() 效果更好。

if(bitmap!=null){
    favIcon.setImageBitmap(bitmap);
} else {
    favIcon.setImageResource(R.drawable.yourimg);
}
于 2013-11-28T11:10:47.370 回答