私のプロジェクトで画像を読み込むためにGlide
を使用しています。私は、デバイスからすべてのイメージを表示しているカスタムギャラリー活動を持っています。問題は、Glideが電話機に存在するpng画像を表示していないことです。その代わりに、私はフォールバックとして設定したエラーイメージを表示しています。私は、何が悪かったのかを把握することができません:Android 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フォルダにある場合、グライドはエラー画像を表示しています。同じ画像を別の場所でsdカード内にコピーすると、正しく表示されます。
あなたではなく、ファイルパスよりも、直接ちょうどメディアストアウリを使用してみましたか?失敗した画像へのリンクを付けることはできますか?スタックトレースを添付できますか? –