Ich verwende die Android-Universal-Image-Loader -Bibliothek, um Remote-Bilder in ImageView zu laden meine GridView-Zellen.
Hier die imageLoader-Konfigurationen:
%Vor%und Anzeigeoptionen:
%Vor%Die Probleme: Sobald die Aktivität mit der Gridview startet, werden alle Aufgaben ordnungsgemäß ausgeführt und Bilder erscheinen in den Zellen. dann scrolle ich das Raster nach unten (ich habe ungefähr 20 Elemente im Raster) und andere Bilder werden richtig geladen. Aber sobald ich oben scrolle, beginnen die Bilder, die bereits geladen sind, wieder zu laden.
Nach ein paar Scrolls rauf und runter Raster speichert alle Bilder und sie verschwinden nicht mehr.
Hat jemand ähnliche Probleme oder weißt du, was ich falsch gemacht habe? Danke für die Hilfe.
HINZUGEFÜGT : Hier ist die getView-Methode in meinem Adapter:
%Vor%PS. Lassen Sie mich wissen, wenn Sie anderen Code (Grid-Adapter vielleicht) sehen wollen, um mir bei diesem Problem zu helfen.
John
Ich habe das gleiche Problem bei der Universal-Image-Loader-Demo festgestellt und hoffe, dass die Bibliotheksentwickler das Problem im nächsten Update lösen werden.
UPDATE : Das Problem wurde mithilfe von nostra13 behoben. Sie müssen die Bibliothek auf 1.9 Version und verwenden Sie diese Art der Anzeige von Bildern in imageView
:
Es hat mein Problem gelöst. Einige Details, warum Sie dies tun sollten, finden Sie hier und < a href="https://github.com/nostra13/Android-Universal-Image-Loader/issues/675"> hier
Sie müssen den Adapter verwenden und dann ViewHolder
implementieren, um den Bildlauf reibungslos und effektiv zu gestalten.
Stellen Sie den Bildern wr.t Tags zur Verfügung, die in getView()
bereitgestellt werden, und dann wird es kein Problem geben.
Verwenden Sie in der getView () - Methode des Adapters nicht das Set-Tag. Versuchen Sie immer, in Ihrer Adapter-Methode "getview ()" View-IDs zu finden.
%Vor%Sie sollten die ImageLoader- und DisplayImageOptions-Instanz nur einmal deklarieren. Wahrscheinlich im Konstruktor.
%Vor%Das gleiche Problem hier, mit einer StaggeredGridView. Auch mit Memory-Cache und der ImageAware-Methode ist es nicht gelöst.
Das Einzige, was mir geholfen hat, war, den Cache von 4 auf 10 MB zu erweitern. List Bilder sind klein, aber ich habe ein sehr großes Bild als Header der Ansicht.
Ich habe bemerkt, dass imageViews auch mit einem langen Klick aktualisiert werden, ist das auch für GridView gültig?
Wie auch immer, das Speicher-Cache-Limit wurde ebenfalls erweitert.
.i war auch mit demselben Problem konfrontiert und löste das Problem, indem er
Utils.imageLoaderFeatured.displayImage (listing.get ("Foto"), halter.image, Utils.imageLoaderOptionsFeatured); .......
Zeile innerhalb if (view == null) ....... ieWhen Ihre Ansicht konvertieren == null nur dann laden Bilder und display.them ..dies wird Ihr Problem lösen .....
Tags und Links android image loader universal-image-loader universal