1 回答

TA贡献1827条经验 获得超8个赞
这是一个空指针异常。imageUri 为空
MediaStore.Images.Media.getBitmap(context.contentResolver, this.imageUri) as Bitmap
如果您检查 getBitmap() 的实现。
看
public static final Bitmap getBitmap(ContentResolver cr, Uri url)
throws FileNotFoundException, IOException {
InputStream input = cr.openInputStream(url);
Bitmap bitmap = BitmapFactory.decodeStream(input);
input.close();
return bitmap;
}
你会发现它调用了 openInputStream() ,它需要一个非空的 uri。
public final @Nullable InputStream openInputStream(@NonNull Uri uri)
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (this.imageUri != null && requestCode == IMAGE_PICK_CODE && resultCode == RESULT_OK) {
try {
//Getting the Bitmap from Gallery
val bitmap = MediaStore.Images.Media.getBitmap(context.contentResolver, this.imageUri) as Bitmap
this.imgThumb!!.setImageBitmap(bitmap)
this.pictureTaken = true
} catch (e:IOException) {
e.printStackTrace()
}
} else {
Toast.makeText(context, "Error loading image", Toast.LENGTH_LONG)
}
}
添加回答
举报