我正在使用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,我不明白为什么。 谁能告诉我问题可能在哪里?