setImageResource vs setImageURi
ich wan-zu-Holen Sie sich das Foto aus dem internet also ich benutze setImageURI, aber es scheint, kann nicht getan werden, aber, während, wenn ich setImageResource(R. drawable.) unter die gleiche Funktion, es funktioniert.. wie kann man die setImageURI Fehler?
public View getView(int position, View convertView, ViewGroup parent) {
ImageView i = new ImageView(mContext);
//this is working
int p = R.drawable.fb;
i.setImageResource(p);
//this is not working.
i.setImageURI(Uri.parse("http://www.vaultads.com/wp-content/uploads/2011/03/google-adsense.jpg"));
return i;
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die wichtigste Sache
setImageResource ist synchron, so wird es korrekt ausgeführt, aber setImageURI von URL wird die asynchrone operation und es muss durchgeführt werden in separaten Threads als UI-thread
Folgenden Snippet wird Ihnen helfen.
Falls das auch nicht funktioniert, dann müssen Sie drei weitere Optionen
Option1
Option2
Option3
Dass die Bild-URL funktioniert nicht für mich.
Ich würde empfehlen, eine andere route für den Download eines Bildes aus dem internet. Wenn Sie anrufen
setImageURI
ausgetView
es laufen wird auf dem UI-thread, die bewirken, dass Ihre app zum einfrieren, bis das Bild wieder vom Netz. Auch das Bild wird nicht zwischengespeichert werden, so dass Sie könnte potenziell download das gleiche Bild immer und immer wieder.Schauen Sie sich dieses ImageLoader - Bibliothek für Android, die vereinfachen das herunterladen von Bildern. Es behandelt den Download in den hintergrund, es kann mehrere Anforderungen gleichzeitig auf und speichert es Bilder für Euch.