neu zu laden Ich erstellte eine App zum Laden von Bildern aus dem Internet in Karten. Ich benutze Recyclerview zum Auflisten von Zwecken. Zum Herunterladen von Bildern habe ich Picasso, Universal-Image-Downloader und andere benutzerdefinierte Methoden ausprobiert, aber überall habe ich dieses Problem:Android - Wie Bilder in Recyclerview beim Scrollen
Immer wenn ich nach unten und oben scrollen, werden die Bilder in Imageview neu geladen. Ich habe sogar eine Bedingung behalten, um zu überprüfen, ob die Bildansicht ein Bild enthält, aber das scheint auch nicht zu funktionieren oder mein Code ist möglicherweise fehlerhaft. Aber ich kann keine Lösung für dieses Problem finden. Unten habe ich die Funktion 'onBindViewHolder' meines Codes angehängt, die ich für den problematischen Teil halte. Hier sind Bilder eine String-Arraylist, die Bild-URLs enthält.
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.default_card, parent, false);
ViewHolder viewHolder;
viewHolder = new ViewHolder(view);
return viewHolder;
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
String url = images.get(position);
if (holder.imgView.getDrawable() != null) {
//Do Nothing
} else {
ImageLoader.getInstance().displayImage(url, holder.imgView);
}
}
"Immer wenn ich nach unten scrolle und die Bilder in Bildansicht werden neu geladen" - was bedeutet das? "oder mein Code kann fehlerhaft sein" - ja, es ist fehlerhaft. Es bindet ein neues Bild an diese ImageView, wenn der ViewHolder wiederverwendet wird. – CommonsWare