Используйте glide, чтобы вставить изображение в ArrayList - PullRequest
0 голосов
/ 19 февраля 2019

Я знаю, как использовать glide для вставки изображения в обычный ImageView

(Glide.with(context) .load(url).morepossiblestuff() .into(imageView);)

Но теперь у меня есть ArrayList, в который входит изображение ('до сих пор)из drawable, означает как int), и текст вставляется, и, наконец, весь этот элемент отображается как элемент просмотра карты в RecyclerView ...

Но мой RecyclerView стал крайне запаздывающим, вероятно, из-за загрузки всего непосредственно изрисовать без изменения размера (?).

Поэтому я решил поместить файлы .png в папку в базе данных Firebase.

Но если один элемент выглядит следующим образом:

        List.add(new Item(R.drawable.resource, "Title", "Description"));

Как я могу вставить изображение из Firebase с помощью glide вместо R.drawable.resource?

Вот адаптер onBindViewHolder: (Думаю, вам нужно только это?)

  @Override
public void onBindViewHolder(@NonNull ViewHolder ViewHolder, int position){
    Item currentItem = mList.get(position);
    ViewHolder.Cover.setImageResource(currentItem.getCover());
    ViewHolder.Title.setText(currentItem.getTitle());
    ViewHolder.Description.setText(currentItem.getDescription());

А вот элемент:

public class GameItem {
private int Cover;
private String Title;
private String Description;

public Item(int CoverImage, String TextTitle, String TextDescription) {
    Cover = CoverImage;
    Title = TextTitle;
    Description = TextDescription;
}


public int getCover() {
    return Cover;
}

TLDR:

Как загрузить изображение из Firebase в один элемент ArrayList?Каждый предмет должен иметь разные изображения.Если это не так, как мне сгладить задержку?

Спасибо, правда.

1 Ответ

0 голосов
/ 19 февраля 2019

Внутри вашего onBindViewHolder звонка

Glide.with(ViewHolder.Cover).load(currentItem.getCover()).into(ViewHolder.Cover);

...