Picasso no carga la imagen

Aquí está el código para picasso:

ImageView img = (ImageView)findViewById(R.id.product_image); Picasso.with(this) .load(_url) .fit() .into(img, new Callback() { @Override public void onSuccess() { } @Override public void onError() { } }); 

Aquí está el valor de _url: http://kiagallery.ir/Images/Upload/Collection%20101/Spring%20101/d4a03b66dc7b46c694615c549b78b2e9.jpg

Y aquí está el xml:

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <ImageView android:id="@+id/product_image" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:id="@+id/product_name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="13sp" android:layout_below="@id/product_image"/> <TextView android:id="@+id/product_price" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="13sp" android:layout_below="@id/product_name"/> </RelativeLayout> 

Como se puede ver la imagen se puede acceder a través de navegador, pero picasso no se carga, he comprobado la función onError y nunca se llama, estoy tranquilo perdido aquí, cualquier ayuda sería apreciada.

EDIT: Cuando doy el valor fijo de width y height de imageview como 200dp, carga la imagen, pero cuando la cambio a wrap_content no muestra la imagen.

Mi conjetura es usted no debe llamar ese método del fit() en Picasso mientras que su ImageView tiene su anchura y altura definidos por WRAP_CONTENT .

Este método espera hasta que el ImageView haya sido medido y cambie el tamaño de la imagen para que coincida exactamente con su tamaño. Mientras que su ImageView está teniendo el tamaño definido por WRAP_CONTENT , entonces los métodos getMeasuredWidth() y getMeasuredHeight() devuelven aparentemente 0, lo que hace que su ImageView invisible .

No se olvide de añadir el permiso para manifestar

 <manifest ...> <uses-permission android:name="android.permission.INTERNET" /> 

Si está utilizando networkPolicy (NetworkPolicy.OFFLINE), es posible que no obtenga imágenes utilizando Picasso.

Estaba enfrentando un problema similar en el que tenía un ViewPager de imágenes colocadas dentro de un DialogFragment pantalla completa. El mismo ViewPager funcionó perfectamente cuando se colocó en otro lugar y Picasso cargó las imágenes como se esperaba. Pero sólo cuando se coloca en el DialogFragment pantalla completa, algunas imágenes aparecerán en blanco. Parecía que las imágenes fueron obtenidas con éxito desde el servidor y cargadas en ImageView , pero el ImageView seguía apareciendo en blanco.

Ninguna de las respuestas anteriores o hilos similares funcionó para mí.

Así que cambié a otra gran biblioteca llamada Glide . Es bastante similar a Picasso. Más información aquí y aquí . A pesar de que esto podría no ser la respuesta más relevante, podría valer la pena dar un tiro para alguien que ha sido atrapado con un problema similar.

  • ¿Cómo integrar Google Drive con Picasso en Android?
  • RecyclerView desplazamiento laggy
  • Recyclerview dolorosamente lento para cargar imágenes en caché de Picasso
  • Lenta Cargando imágenes grandes con Picasso
  • Uso de Fresco de Facebook para cargar un mapa de bits
  • Imagen de carga de Picasso en GifImageView (biblioteca android-gif-drawable)
  • Cómo probar si una imagen está completamente cargada con Picasso
  • Picasso no funciona si url contiene espacio
  • Utilice Picasso para colocar la imagen en dibujable
  • Picasso no puede cargar imágenes para alguna URL (sin caracteres especiales)
  • Imageview Roundcorner no funciona para las cuatro esquinas
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.