アプリに必要なすべての画像を取得しました。速度を上げて滑らかにしようとしているので、Glideを使用して画像を読み込んでいますが、アプリの他の領域では機能しますが、私のビューページャーで。
私のフラグメントでは、そのように画像をロードしようとしています
Glide.with(this).load(R.drawable.my_drawable).into(myImageView);
何も起こらないか表示されず、Glideから例外やエラーメッセージが表示されません。
デバッグとエラー処理 wikiページをチェックしてログを有効にしてください。これにより、ロードが失敗しているかどうかとその理由がわかります。
エラーログが表示されない場合は、サイズが0であるか、レイアウトを通過していない(可視性が_View.GONE
_などに設定されている)ために、ビューにサイズがない可能性があります。その場合は、有効な幅と高さで override()
への呼び出しを追加してチェックをテストできます(_400, 400
_などを試してみてください)。
override()
を呼び出すと問題が解決する場合は、xmlを調べて、ビューを固定サイズに変更できるか、少なくとも最終的には有効なサイズに変更できるかを確認してください。他のすべてが失敗した場合は、幅と高さとして_Target.SIZE_ORIGINAL
_を指定してoverride()
をいつでも呼び出すことができます。
私はこの質問が閉じられてから長い間知っていますが、代わりにプレースホルダーまたはエラー画像を使用することでこれに対する良い解決策を見つけました。だからあなたは試すかもしれません
Glide.with(<<MyActivity>>)
.load("")
.placeholder(<<myDrawable>>)
.into(imageView);
これがあなたが望んでいたものかどうかはわかりませんが、同じ問題を抱えている他の人がいる場合、少なくともこれは最小限の作業で機能するようです。 :)
VectorまたはSVGを使用している場合、ご使用のバージョンのGlideはこれをサポートしておらず、ロードに失敗する可能性があります。
Tobias Reichの方法 ロードURLが ""であるため、一連の警告ログが生成されます。警告ログが必要ない場合は、
これを試してください:
int drawableIdentifier = activity.getResources().getIdentifier("my_drawable_image_name", "drawable", activity.getPackageName());
Glide.with(activity)
.load(drawableIdentifier)
.into(imageView);