使用库将图像从图像路径添加到图像视图?

时间:2018-11-05 06:44:16

标签: java android-studio android-imageview

在我的项目中,我正在使用此特定代码段将图像添加到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);

尽管图像列表增加了,但不显示图像。

所以我应该怎么做才能使图像在图像视图中可见。

0 个答案:

没有答案