这是我的代码,在我的列表视图中显示联系人照片:
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资源?
答案 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);
}