2015-06-04 5 views
8

Ich habe alle Bilder, die ich für meine App brauche, und ich versuche, sie zu beschleunigen und sie seidig weich zu machen. Daher habe ich Glide verwendet, um die Bilder zu laden, und es funktioniert in anderen Bereichen meiner App aber nicht in meinem Viewpager.Warum lädt Glide kein Bild von der Ressourcen-ID zu meinem ImageView?

In meinem Fragmente Ich versuche, mein Bild, wie so

Glide.with(this).load(R.drawable.my_drawable).into(myImageView); 

und es passiert nichts oder scheint zu laden und ich habe nicht eine Ausnahme oder irgendeine Art von Fehlermeldung von Glide erhalten.

+0

innerhalb des Fragments können Sie "this" nicht übergeben, stattdessen übergeben Sie "getActivity()" an es. –

Antwort

5

Überprüfen Sie die Debugging and Error Handling Wiki-Seite, um die Protokollierung zu aktivieren. Das sollte Ihnen sagen, wenn die Ladung versagt und warum.

Wenn Sie keine Fehlerprotokolle sehen, ist es möglich, dass Ihre Ansicht keine Größe hat, entweder weil sie 0 ist oder weil sie das Layout nicht durchlaufen hat (Sichtbarkeit auf View.GONE usw. gesetzt). Wenn ja, können Sie die Prüfung testen, indem Sie einen Anruf an override() mit einer beliebigen gültigen Breite und Höhe (versuchen Sie 400, 400 oder etwas nur zum Testen) hinzufügen.

Wenn das Problem durch den Aufruf override() behoben wird, werfen Sie einen Blick auf Ihr XML und sehen Sie, ob Sie Ihre Ansicht ändern können, um entweder eine feste Größe zu haben oder zumindest mit einer gültigen Größe zu enden. Wenn alles andere fehlschlägt, können Sie immer override() mit Target.SIZE_ORIGINAL als die Breite und Höhe aufrufen.

12

Ich weiß, dass diese Frage längst geschlossen ist, aber ich fand eine gute Lösung dafür, stattdessen das Platzhalter- oder Fehlerbild zu verwenden. So können Sie versuchen

Glide.with(<<MyActivity>>) 
    .load("") 
    .placeholder(<<myDrawable>>) 
    .into(imageView); 

nicht sicher, das ist, was Sie wollten, aber wenn es andere gibt, das gleiche Problem haben, zumindest scheint dies mit einem Minimum an Arbeit. :)

+0

Kämpfen von 1 Stunde, um ein Bild von Ressourcen-ID im Alarmdialog zu laden. Platzhalter hat den Trick gemacht. – Madhu

+0

Froh, es hat funktioniert! –

0

Wenn Sie einen Vector oder SVG verwenden, unterstützt Ihre Version von Glide dies möglicherweise nicht und kann nicht geladen werden.

Verwandte Themen