¿Por qué mis fotos de contacto no se muestran en la vista de lista?

IMPORTANTE TENER EN CUENTA QUE LA API IM WORKING WITH IS 2.3

Tengo una vista de lista que actualmente está llena de contactos (actualmente 6) que me enviaron mensajes de texto en la bandeja de entrada de mi dispositivo. Después de que todos los contactos se recogen y pasan a unaArrayList<String>, la ArrayList se pasa a un constructor para miAdaptador personalizado clase. A partir de ahí, este es el código que llena mi vista de lista con los contactos de mi bandeja de entrada desde migetView() método:

holder.photo = (ImageView) rowView.findViewById(R.id.iv_contactPic);
holder.contact = (TextView) rowView
                .findViewById(R.id.contactEntryText);

String folder = "content://sms/inbox/";
        Uri mSmsQueryUri = Uri.parse(folder);
        contactID = 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);
            }

                c.moveToFirst();
                while (c.moveToNext()) {

                cid = c.getString(0);
                contactID.add(cid); // stores contact IDs
            }

        } catch (Exception e) {
            //Log.e(TAG, e.getMessage());
        } finally {
            c.close();
        }

if(holder != null){
    holder.contact.setText(data.get(position)); // displays contact by name

    //Contact photo not showing
    holder.photo.setImageBitmap(getByteContactPhoto(contactID.get(position));
}

Del código anterior,holder.contact Muestra 6 contactos sin problema. Pero el problema es conholder.photo que no muestra nada en absoluto. Aquí está el método que se supone para obtener las fotos:

public Bitmap getByteContactPhoto(String contactId) {
    Uri contactUri = ContentUris.withAppendedId(Contacts.CONTENT_URI, Long.parseLong(contactId));
    Uri photoUri = Uri.withAppendedPath(contactUri, Contacts.Photo.CONTENT_DIRECTORY);
    Cursor cursor = context.getContentResolver().query(photoUri,
                    new String[] {Contacts.Photo.DATA15}, null, null, null);
    if (cursor == null) {
        return null;
    }
    try {
                cursor.moveToFirst();
        if (cursor.moveToNext()) {
            byte[] data = cursor.getBlob(0);
            if (data != null) {
                return BitmapFactory.decodeStream( new ByteArrayInputStream(data));
            }
        }
    } finally {
        cursor.close();
    }
    return null;
    }

Pero en LogCat, esto es lo único que se muestra en referencia a las fotos:

W/Resources(15031): Converting to string: TypedValue{t=0x12/d=0x0 a=3 r=0x7f080015}
W/Resources(15031): Converting to string: TypedValue{t=0x12/d=0x0 a=3 r=0x7f080015}
W/Resources(15031): Converting to string: TypedValue{t=0x12/d=0x0 a=3 r=0x7f080015}
W/Resources(15031): Converting to string: TypedValue{t=0x12/d=0x0 a=3 r=0x7f080015}
W/Resources(15031): Converting to string: TypedValue{t=0x12/d=0x0 a=3 r=0x7f080015}
W/Resources(15031): Converting to string: TypedValue{t=0x12/d=0x0 a=3 r=0x7f080015}

¿Alguna idea para arreglar esto para que se muestren las fotos de contacto?

Respuestas a la pregunta(0)

Su respuesta a la pregunta