Picasso ejecutar primero no llamar onBitmapLoaded in for loop
Tengo problema con conseguir el uso del mapa de bits Picasso adentro para el lazo.
No se llama onBitmapLoaded en la primera ejecución .
- Siempre se desvanecen en el marcador de posición con Picasso
- ¿Cómo obtengo una paleta para mi mapa de bits una vez que Picasso Loads?
- Imagen de carga de Picasso en GifImageView (biblioteca android-gif-drawable)
- Utilice Picasso para colocar la imagen en dibujable
- Cargar mapa de bits con RGB_565 a través de Picasso
Segunda vez que lo llamó
for (int i = 0; i < 3; i++) { final int k=i; Picasso.with(this) .load(ListA.get(i).getImage()) //image .resize(100, 100) .transform(new ImageTrans_CircleTransform()) .into(new Target() { @Override public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) { Log.i("load", "Ok " + k); //use bitmap for add marker to map } @Override public void onBitmapFailed(Drawable errorDrawable) { } @Override public void onPrepareLoad(Drawable placeHolderDrawable) { Log.i("load", "first " + k); } }); }
Iniciar sesión
11-04 16:42:22.222 11677-11677/com.tenten I/load﹕ first___0 11-04 16:42:22.222 11677-11677/com.tenten I/load﹕ first___1 11-04 16:42:22.232 11677-11677/com.tenten I/load﹕ first___2
Uso picasso para obtener bitmap de la imagen de la lista.
Necesito bitmap no imageview.
Gracias. :RE
- Picasso no carga imágenes
- Picasso carga de imagen de devolución de llamada
- Añadir imagen de fondo a Android ListView con Picasso
- Cambiar el tamaño de la imagen a todo el ancho y la altura variable con Picasso
- Picasso no puede cargar imagen dentro del método onSuccess de StorageReference
- Carga imágenes grandes con Picasso y objeto Transform personalizado
- Appcompat CardView y Picasso sin esquinas redondeadas
- Actualizar / cambiar el mapa de bits en caché utilizando Picasso y OkHttp
Un problema común con el uso de los objetivos de Picasso es que la gente no mantiene fuertes referencias a ellos. Esto da como resultado que los objetivos estén funcionando al azar, ya que a veces son recogidos por el GC antes de ser terminados, ya veces viven el tiempo suficiente para llamar a la llamada.
Lo que tiene que hacer es almacenar esas devoluciones de llamada en alguna parte hasta que hayan terminado. He aquí un ejemplo:
final List<Target> targets = new ArrayList<Target>(); for (int i = 0; i < 3; i++) { final int k=i; Target target = new Target() { @Override public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) { Log.i("Targets", "Loaded: " + k); targets.remove(this); } @Override public void onBitmapFailed(Drawable errorDrawable) { targets.remove(this); } @Override public void onPrepareLoad(Drawable placeHolderDrawable) { Log.i("Targets", "Preparing: " + k); } } targets.add(target); Picasso.with(this) .load(ListA.get(i).getImage()) // Start loading the current target .resize(100, 100) .into(target); }
Para cerciorarse de que la lista no consiga GC'd también, hace a targets
una variable global.
- ¿Cómo puedo cambiar el color de fondo de una fila específica correctamente en un ListView? (Androide)
- ¿Por qué obtengo una excepción de puntero nulo de TabWidget?