我在项目中使用Glide
来加载图片。我有自定义图库活动,我在其中显示设备中的所有图像。问题是Glide没有显示手机中存在的任何png图像。取而代之的是显示我设置为后备的错误图像。我无法弄清楚出了什么问题:
这是我要查询的代码:
Cursor imagecursor = getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, columns, null, null, orderBy);
if (imagecursor != null && imagecursor.getCount() > 0) {
while (imagecursor.moveToNext()) {
CustomGalleryModel item = new CustomGalleryModel();
int dataColumnIndex = imagecursor.getColumnIndex(MediaStore.Images.Media.DATA);
item.sdcardPath = imagecursor.getString(dataColumnIndex);
galleryList.add(item);
}
}
在我的适配器中:
File f = new File(data.get(position).sdcardPath);
Uri uri = Uri.fromFile(f);
Glide.with(context).load(uri).placeholder(R.drawable.no_media)
.error(R.drawable.car_bg).into(holder.imgQueue);
PNG图像的路径如下:
file:///storage/emulated/0/Pictures/Screenshots/Screenshot_20160622-160641.png
更新
如果图像位于Screenshots文件夹中,则Glide显示错误图像。如果我在其他地方的SD卡内复制相同的图像,那么它会正确显示。
答案 0 :(得分:0)
尝试在Glide语句中进行如下更改:
.load(new File(pictureUri.getPath())) // Uri of the picture