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() { } }); 

Вот значение _url: http://kiagallery.ir/Images/Upload/Collection%20101/Spring%20101/d4a03b66dc7b46c694615c549b78b2e9.jpg

И вот 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> 

Так как вы можете видеть, что изображение можно получить через браузер, но picasso не загружает его, я проверил функцию onError, и он никогда не звонил, я здесь потерялся, любая помощь будет оценена.

EDIT: Когда я задаю фиксированное значение ширины и высоты изображения вида 200dp, оно загружает изображение, но когда я меняю его на wrap_content, оно не отображает изображение.

Solutions Collecting From Web of "Picasso не загружает изображение"

Я предполагаю, что вы не должны называть метод fit() в Picasso, в то время как ваш ImageView имеет ширину и высоту, определенные WRAP_CONTENT .

Этот метод ожидает, пока ImageView не будет измерен и не изменит размер изображения, чтобы точно соответствовать его размеру. Хотя ваш ImageView имеет размер, определенный WRAP_CONTENT , тогда методы getMeasuredWidth() и getMeasuredHeight() казалось бы, возвращают 0, что делает ваш ImageView невидимым .

Не забудьте добавить разрешение на манифест

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

Если вы используете networkPolicy (NetworkPolicy.OFFLINE), возможно, вы не сможете получать изображения с помощью Picasso.

Я столкнулся с аналогичной проблемой, когда у меня был ViewPager изображений, размещенных внутри полноэкранного DialogFragment . Тот же ViewPager отлично работал при размещении в другом месте, и Picasso загрузил изображения, как ожидалось. Но только при размещении в полноэкранном DialogFragment некоторые изображения будут пустыми. Казалось, что изображения были успешно извлечены с сервера и загружены в ImageView , но ImageView все еще был пустым.

Ни один из вышеперечисленных ответов или подобных нитей не работал для меня.

Поэтому я переключился на другую большую библиотеку под названием Glide . Это в значительной степени похоже на Пикассо. Узнайте больше здесь и здесь . Несмотря на то, что это может быть не самый важный ответ, возможно, стоит сделать снимок для тех, кто застрял с подобной проблемой.