Я делаю основной проект Android Studio для загрузки URL-адреса в ImageView с помощью Picasso с Kotlin. Я следовал за каждым шагом с официальной веб-страницы Picasso, но когда я запускаю свое приложение, эмулятор показывает пустое представление.
В свой Gradle я добавил реализацию Пикассо:
implementation 'com.squareup.picasso:picasso:2.71828'
И интернет-разрешение в манифест тега тоже:
<uses-permission android:name="android.permission.INTERNET"/>
А в MainActivity
основное использование Пикассо:
Picasso.get().load("http://paproject.online/hp.jpg").into(imageTest)
imageTest
- это идентификатор Imageview
с layout_height = 200dp
и layout_weight = 200dp
.
Хорошо, проблема уже решена. Похоже, что проблема загрузки изображений в Android 9.0. Таким образом, решение находится в этой ссылке: проблема загрузки изображений Пикассо с Android 9.0 Pie. Спасибо всем за ваши ответы.
Возможно, размер вашей фотографии слишком велик, поэтому в теге ImageView
в XML
layout_width
и layout_height
на Const Size, как 100dp.
и если вы можете изменить Пикассо с Glide. может быть может помочь вам
Вы можете изменить размер изображения, прежде чем включать его в imageView
Picasso
.with(context)
.load("http://paproject.online/hp.jpg")
.resize(200, 200) // resizes the image to these dimensions.
.into(imageViewResize);
Или вы можете использовать любую технику обрезки, например .CenterCrop(). Вы можете прочитать больше об этом https://futurestud.io/tutorials/picasso-image-resizing-scaling-and-fit
Ваше изображение больше (1024x768), чем ваш ImageView, но, конечно, это не должно быть причиной для вас пустым. Попробуйте, как показано ниже, который также включает локальный ресурс изображения nopic для случаев ошибки. Кажется, у вас есть правильное включение
// Lazy load the image with Picasso
get()
.load(yourURL)
.placeholder(R.drawable.nopic)
.error(R.drawable.nopic)
.into(img);