在我的项目中,我正在使用此特定代码段将图像添加到uri路径的图像视图中。
Intent intent = new Intent(Intent.ACTION_PICK,
MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
startActivityForResult(intent, result_load_image);
此代码以这种方式为我提供了uri的路径
content://com.google.android.apps.photos.contentprovider/-1/1/content%3A%2F%2Fmedia%2Fexternal%2Fimages%2Fmedia%2F148/ORIGINAL/NONE/785673196
这是我在回收站视图和holder.imageview中设置的,我设置了uris ...
Bitmap bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), mArrayUri.get(i));
holder.imageview.setImageBitmap(bitmap);
bitmap_array.add(bitmap);
这样做,我会看到所有图像列表,并且可以正常工作。
现在,我决定将库用作intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
在某些设备上不起作用,因为它限制了我进行多项选择,并且只有一项选择有效。
所以我用了一个图书馆 MultiSelect Library
ArrayList<Image> images = data.getParcelableArrayListExtra(Constants.INTENT_EXTRA_IMAGES);
for(int i = 0; i<images.size();i++)
{
uri = Uri.parse(images.get(i).path);
mArrayUri.add(uri);
if(checker == 1)
{
ImagesUris_list.add(mArrayUri.get(i).toString());
}
}
这给了我这种格式图像的路径
/storage/emulated/0/Download/s-l300.jpg
这是在这里传递的
Bitmap bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), mArrayUri.get(i));
holder.imageview.setImageBitmap(bitmap);
bitmap_array.add(bitmap);
尽管图像列表增加了,但不显示图像。
所以我应该怎么做才能使图像在图像视图中可见。