Imageview не имеет изображения при первой загрузке с использованием Glide - PullRequest
0 голосов
/ 18 апреля 2019

Я использую Glide v4 для загрузки своих изображений, и мое приложение обнаруживает ошибку:

I/Glide: Root cause (1 of 1) com.bumptech.glide.load.HttpException: Not Found
    at com.bumptech.glide.integration.okhttp3.OkHttpStreamFetcher.onResponse(OkHttpStreamFetcher.java:73)
    at okhttp3.RealCall$AsyncCall.execute(RealCall.java:206)
    at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:764)

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

Я загружаю изображение из моего RecyclerView адаптера, например:

class MyRecyclerViewAdapter(private val glideApp: GlideRequests): RecyclerView.Adapter<MyRecyclerViewAdapter.ViewHolder>() {
    override fun onBindViewHolder(holder: ViewHolder, position: Int) {
        //... some stuff
        // Set a data
        glideApp.asBitmap()
            .load(img_url)
            .into(holder.itemView.ivImageHolder)
        // Set a data
    }
}

Любая помощь приветствуется, спасибо.

Ответы [ 2 ]

0 голосов
/ 18 апреля 2019
Glide.with(context)
    .load(img_url)
    .asBitmap()
    .into(holder.itemView.ivImageHolder);

«контекст» содержит экземпляр действия или фрагмент, который передается адаптеру

0 голосов
/ 18 апреля 2019

Попробуйте это,

личный список myUrls = ...;

@Override
public void onBindViewHolder(ViewHolder viewHolder, int position) {
  ImageView imageView = ((MyViewHolder) viewHolder).imageView;
  String currentUrl = myUrls.get(position);

  Glide.with(fragment)
    .load(currentUrl)
    .override(imageWidthPixels, imageHeightPixels)
    .into(imageView);
}

проверьте также

...