我正在尝试从图库中选择一张图片,将其转换为Bitmap
,并将其显示在ImageView
中。
以下代码用于从图库中选择图片
Intent pickPhoto = new Intent(
Intent.ACTION_PICK,
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(pickPhoto, 1);`
在onActivityResult
我将其转换为Bitmap
并将其显示在ImageView
protected void onActivityResult(int requestCode, int resultCode,
Intent imageReturnedIntent) {
super.onActivityResult(requestCode, resultCode, imageReturnedIntent);
switch (requestCode) {
case 1:
if (resultCode == RESULT_OK) {
Uri selectedImage = imageReturnedIntent.getData();
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 4;//returning null for below statement
bitmap = BitmapFactory.decodeFile(selectedImage.toString(), options);
productItemImage.setImageBitmap(bitmap);
}
break;
}
}
所选图像Uri中的值将返回为“content:// media / external / images / media / 3647”
productItemImage
是我显示ImageView
的{{1}}。没有错误,但位图返回null。
请帮助
答案 0 :(得分:-1)
问题可能是super.onActivityResult()
功能中的onActivityResult()
来电。
这是我去年写的一个答案,它给出了你想要做的事情的完整例子,并且允许你从相机和画廊中选择:Allow user to select camera or gallery for image(这个答案有很高的分数,所以我认为这会对你有帮助。)