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

私の答えはNirajのものと似ていますが、私のコードでは setImageResource() の方がうまく機能します。

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

これでできるはずです!

デフォルトの画像を drawable フォルダーに配置します。

于 2013-06-09T07:29:23.393 に答える