Sto cercando di caricare una serie di 20 URL in background con Picasso. Finora ho il codice successivo:Caricamento di più immagini con Picasso sullo sfondo
Log.d("GAME", "Loading all images");
for (int i = gamePieces.length-1; i >= 0; i--) {
GamePiece p = gamePieces[i];
Log.d("GAME", "I will load " + p.getImage());
Picasso.with(context).load(p.getImage()).into(target);
}
//loading the first one
Picasso.with(context).load(piece.getImage()).into(target);
E il mio oggetto target
è la prossima:
Target target = new Target() {
@Override
public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
Log.d("GAME", "Image loaded" + ++test);
gameImage.setImageBitmap(bitmap); //ImageView to show the images
}
@Override
public void onBitmapFailed(Drawable arg0) {}
@Override
public void onPrepareLoad(Drawable arg0) {}
};
voglio pre caricare le immagini in modo che io possa mostrare uno per uno nella ImageView qualsiasi momento l'utente fa clic su un pulsante.
La prima immagine si sta caricando così velocemente (è bello) ma le altre immagini nel ciclo for non vengono mai caricate. Come posso risolvere questo? ho bisogno che le immagini inizino a caricarsi nel ciclo for.
1.) Mantenere SEMPRE un forte riferimento agli obiettivi Picasso da qualche parte perché Picasso stesso solo k eep a WeakReference - e il Target sarà spazzato via prima del caricamento dell'immagine. 2.) Non ne sono del tutto sicuro, ma dal codice sorgente sembra che Picasso gestirà solo una richiesta per ogni istanza di Target o ImageView che passi in un 'in()' - magari dai uno sguardo a te stesso (dis-)Confermare. –
@ david.mihola Come posso mantenere un forte riferimento agli obiettivi Picasso? Cosa intendi con "forse dare un'occhiata a te (dis-) conferma" è un metodo? –