Komplexe ListeViewItem -Bildlastanwendungs Problem
-
19-09-2019 - |
Frage
Ich verklage ListView und passe ListView an, um das Bild in einem Listenelement anzuzeigen. Ich möchte das Bild mit jedem Suchergebnis anzeigen.
So zeigen Sie das Complext -Listenim an, ich folge dem folgenden Beispiel
http://developer.android.com/guide/samples/apidemos/src/com/example/android/apis/view/List4.html
In der Wrapper -Klasse initiiere ich einen neuen Thread für jedes neue Listenelement -Bild, damit ich das Bild anzeigen werde.
Mein Code ist unten
new Handler().post(new Runnable(){
@Override
public void run() {
Drawable dImage = Util.getImageFromURL(imageURL);
getImageIcon().setImageDrawable(dImage);
}
});
Mittelwert 10 Bilder initiieren 10 verschiedene Bildlade -Threads. Andere statische Daten befinden sich nicht im Thread.
Problem entsteht, wenn während des Bildladungsseitenantrags die Aufhängung nicht hängen sollte ... eine Idee, was zu tun ist?
ALT Text http://img509.imageshack.us/img509/7519/Thumbnailx.jpg
Lösung
Verwenden Sie einen Hintergrundvorgang, um Ihre Bilder abzurufen, z. B. eine AsyncTask
. All dein new Handler().post()
Sachen verzögern die Arbeit durch eine Nanosekunde, nicht im Hintergrund.
Auch wenn Sie verwenden wollen Handlers
, Erstellen Sie einfach einen.