Как мы даем изображения-заполнители ImageCardViews во время загрузки плаката?
У меня есть класс-оболочка, который содержит ImageCardView и загружает в него изображение, извлеченное из Интернета. Перед сетевым вызовом у меня есть
imageCardView.getMainImageView().setImageResource(R.drawable.icon_movie_placeholder);
По какой-то причине изображение никогда не появляется, если сразу после этого происходит сетевой вызов, хотя для появления отдельного плаката может потребоваться 0,5-1,5 секунды. Но если я закомментирую сетевой вызов и назначение, изображение появится. Как сделать так, чтобы заполнитель был виден во время извлечения плаката? Для этого я использую Picasso, очищает ли Picasso изображение перед его загрузкой?
1 ответ
Я думаю, что Пикассо действительно очищает изображение, когда вы звоните load(url).into(imageView)
метод, чтобы избежать отображения неправильных изображений в listView / recyclerView.
То, что вы могли бы использовать, это собственный способ Picasso установить изображение заполнителя, который работает следующим образом
Picasso.with(context)
.load(imageUrl)
.placeholder(R.drawable.icon_movie_placeholder)
.into(imageView)
Таким образом, Пикассо покажет ваш icon_movie_placeholder
рисовать до тех пор, пока не закончится сетевой запрос, и если вам нужно предоставить изображение-заполнитель, вы можете использовать error(resourceId)
метод просто так.
Вы можете найти больше информации об этом на официальной странице Пикассо на Github (особенно в разделе " Функции ": http://square.github.io/picasso/