没有分配照片时显示默认联系人照片?

时间:2013-06-09 06:12:34

标签: android image photo contact

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

 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资源?

2 个答案:

答案 0 :(得分:0)

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

应该这样做!

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

答案 1 :(得分:0)

我的回答类似于Niraj,但在我的代码中,setImageResource()效果更好。

if(bitmap!=null){
    favIcon.setImageBitmap(bitmap);
} else {
    favIcon.setImageResource(R.drawable.yourimg);
}