Изображение не отображается в imageView

Почему мое изображение не отображается в imageView?

    var image : Bitmap?=null

    longToast(obj?.image?.url.toString())

    try {
        image = BitmapFactory.decodeFile(obj?.image?.url.toString())
        imagePhoto.setImageBitmap(image)
        longToast("abc")
    } catch (e: Exception) {
        e.message
    }

Изображение не является нулевым, поскольку я видел отображаемый toast.

https://...../tempory.jpg

вы называете decodeFile - "файл" здесь что-то в вашей локальной файловой системе - а не ресурс, на который указывает http://xxx uri - вы можете использовать Пикассо в таких случаях

pskink 29.01.2019 09:27

попробуйте использовать Glidemedium.com/@vlonjatgashi/using-glide-with-kotlin-5e345b55754‌​7

karan 29.01.2019 09:28

Это URL-адрес, поэтому вам нужно сначала загрузить его, прежде чем показывать. Рассмотрите возможность использования библиотеки загрузчика изображений, такой как Glide, для выполнения этих задач за вас.

Bach Vu 29.01.2019 09:29
decodeFile не может обрабатывать местоположения в Интернете
Vladyslav Matviienko 29.01.2019 09:33
0
4
88
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

BitmapFactory.decodeFile не может обработать URL

Чтобы загрузить изображение с URL-адреса, вы можете использовать Скольжение, эту библиотеку рекомендует Google. Из документа:

Note: There are several libraries that follow best practices for loading images. You can use these libraries in your app to load images in the most optimized manner. We recommend the Glide library

Добавьте Glide в свой проект:

dependencies {
  implementation 'com.github.bumptech.glide:glide:4.8.0'
  annotationProcessor 'com.github.bumptech.glide:compiler:4.8.0'
}

потом

Glide.with(context)
.load(obj?.image?.url.toString())
.into(imagePhoto)

Другие вопросы по теме