在我的项目中,我需要一种方法来从画廊中选择几个图像的路径。 我正在使用这个库MultipleSelectImages
显然工作正常,但在onActivityResult中我需要每个图像的路径数组,但我得到的结果是:
Paths: [com.darsh.multipleimageselect.models.Image@1e6d3057, com.darsh.multipleimageselect.models.Image@33824744]
...当我需要真实路径时(/storage/emulated/0/DCIM/Camera/20150426_110936.jpg)
阅读图书馆的文档没有找到解决方案。
这是onActivityResult方法:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == Constants.REQUEST_CODE && resultCode == RESULT_OK && data != null) {
//The array list has the image paths of the selected images
ArrayList<Image> images = data.getParcelableArrayListExtra(Constants.INTENT_EXTRA_IMAGES);
Log.i("myLogs", "Paths:" + " " + images);
}
}
...从图书馆导入“图像”
import com.darsh.multipleimageselect.models.Image;
我没有使用EXTRA_ALLOW_MULTIPLE,因为需要该应用程序在android api 16版本中运行
先谢谢。
答案 0 :(得分:2)
尝试使用以下代码;
onActivityResult(); -
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 imgPath = cursor.getString(columnIndex);
cursor.close();