Как загрузить изображение с Пикассо в Android для элемента, прежде чем элемент появится? - PullRequest
0 голосов
/ 23 мая 2019

У меня есть представление переработчика, что у каждого его элемента есть изображение, которое загружает это изображение Пикассо.

Когда я прокручиваю представление рециркулятора до того, как Пикассо загрузит изображение, я показываю заполнитель, но в большинстве случаев Пикассо работает медленно и появляется заполнитель.

Обратите внимание, что я загружаю изображения в onBindViewHolder и хочу загружать изображения раньше так, чтобы в большинстве случаев заполнитель не появлялся.

public void onBindViewHolder(...){
    Picasso.with(context)
    .load(url)
    ...
}

1 Ответ

0 голосов
/ 23 мая 2019

BindViewHolder не будет вызываться для всех ваших элементов. В своей деятельности выполните цикл по всем элементам списка, а затем вызовите указанный выше код.

for (int i=0;i<list.size();i++) { // here I assumed that list is an ArrayList having all URLs.
 Picasso.with(context).load(list.get(i).url).into(imageView); // here imageview is an empty Imageview with zero width and height.
}

Приведенный выше код загрузит все изображения и сохранит их в кеш, а когда вы вызовете адаптер onBindView, он загрузит изображения из кеша.

...