Почему мое изображение не отображается в 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
попробуйте использовать Glidemedium.com/@vlonjatgashi/using-glide-with-kotlin-5e345b557547
Это URL-адрес, поэтому вам нужно сначала загрузить его, прежде чем показывать. Рассмотрите возможность использования библиотеки загрузчика изображений, такой как Glide, для выполнения этих задач за вас.
decodeFile не может обрабатывать местоположения в Интернете
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)
вы называете
decodeFile- "файл" здесь что-то в вашей локальной файловой системе - а не ресурс, на который указываетhttp://xxxuri - вы можете использовать Пикассо в таких случаях