在ListView中获取imageview中的联系人照片

时间:2015-10-12 22:27:54

标签: android listview android-contacts

我正在使用cursurAdapter作为列表视图,此代码位于bindView中:

        String number = getPhoneNumber(friendName, context);

        long contactID = getContactIDFromNumber(number, context);

        Uri uri = ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI, contactID);
        InputStream input = ContactsContract.Contacts.openContactPhotoInputStream(context.getContentResolver(), uri);
        Bitmap bm = BitmapFactory.decodeStream(input);
        contactImageView.setImageBitmap(bm);

我知道它工作正常,因为我在onCreate中的另一个活动中使用相同的代码,并且它以正常布局在图像视图中显示联系人照片。 加上我看到它在日志中提取电话号码和ID。

但是在cursuradapter中它不会因为某种原因而给它一个nullPointerException

java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ImageView.setImageBitmap(android.graphics.Bitmap)' on a null object reference
10-13 00:28:57.456 16320-16320/com.barados.myfriendsdebts E/AndroidRuntime:     at com.barados.myfriendsdebts.MainActivity$DbCursorAdapter.bindView(MainActivity.java:537)

并告诉我位图的行是null,我不明白为什么。 谁能告诉我问题可能在哪里?

0 个答案:

没有答案