【发布时间】:2017-11-02 12:39:30
【问题描述】:
我使用了@AlexanderZaldostanov code,效果很好
但是我对部分代码有一个问题,该部分似乎无关紧要,最终没有被使用。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK && null != data) {
Uri selectedImage = data.getData();
String[] filePathColumn = { MediaStore.Images.Media.DATA };
Cursor cursor = getContentResolver().query(selectedImage,
filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
String picturePath = cursor.getString(columnIndex);
cursor.close();
ImageView imageView = (ImageView) findViewById(R.id.imgView);
Bitmap bmp = null;
try {
bmp = getBitmapFromUri(selectedImage);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
imageView.setImageBitmap(bmp);
}
}
从String[] filePathColumn = { MediaStore.Images.Media.DATA }; 行的开头一直到cursor.close();
最后Bitmap 得到Uri 就是这样。
为什么我们需要中间的所有其余代码?
谢谢,
【问题讨论】:
-
我的感觉是你应该可以使用
selectedImage加载图像只需使用imageView.setImageURI(selectedImage)
标签: java android image-gallery