使用Picasso,Glide,Image Loader,Universal Image Loader加载图像失败

时间:2019-11-29 06:06:56

标签: android android-asynctask picasso universal-image-loader glide

  

我已经创建了印地语视频歌曲应用程序,但是视频拇指无法显示在视频列表中。   (已加载单个图像,但无法加载多个图像阵列。)

使用多个图像加载器库,但不加载图像:

enter image description here

  

滑行:

                     Issue_high  Issue_med  Issue_low
name   age    empId  
Jack    44     Ab1      0           1         0
Bob     34     Ab2      0           0         1
Mike    52     Ab6      1           1         0

df.columns
>>> Index(['Issue_high',
   'Issue_med', 'Issue_low'],
  dtype='object')
  

毕加索:

implementation 'com.github.bumptech.glide:glide:4.10.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.10.0'


Glide .with(viewHolder.icon_1.getContext())
            .load(((AppModelicon) this.b.get(i)).getThumnail())
            .into(viewHolder.icon_1)  ;

Glide.with(MainActivity.this)
            .load("https://img.youtube.com/vi/EEX_XM6SxmY/mqdefault.jpg")
            .placeholder(R.drawable.ic_menu_camera)
            .error(R.drawable.ic_menu_gallery)
            .listener(new RequestListener<Drawable>() {
                @Override
                public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Drawable> target, boolean isFirstResource) {
                    // log exception
                    Log.e("TAG", "Error loading image", e);
                    return false; // important to return false so the error placeholder can be placed
                }

                @Override
                public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target, DataSource dataSource, boolean isFirstResource) {
                    return false;
                }
            })
            .into(viewHolder.icon_1);
  

结合使用请求管理器:

implementation 'com.squareup.picasso:picasso:2.+'

Picasso.get()
            .load("https://img.youtube.com/vi/EEX_XM6SxmY/mqdefault.jpg")
            .resize(50, 50)
            .centerCrop()
            .into(viewHolder.icon_1);
  

后台任务方法使用:

RequestManager requestManager = Glide.with(a)
            .applyDefaultRequestOptions(RequestOptions.diskCacheStrategyOf(DiskCacheStrategy.NONE))
            .applyDefaultRequestOptions(RequestOptions.placeholderOf(R.drawable.ic_menu_camera));
                requestManager
            .applyDefaultRequestOptions(RequestOptions.skipMemoryCacheOf(true));
                requestManager.load(pathToFile)
            .into(viewHolder.icon_1);
  

请帮助我如何解决此问题。

4 个答案:

答案 0 :(得分:1)

如果您要在recyclerview中加载图像,下面的代码可能会帮助您。

@Override
public void onBindViewHolder(final ViewHolder holder, int position)
{
    Glide.with(this.context)
            .load(urls.get(position))
            .diskCacheStrategy(DiskCacheStrategy.ALL)
            .into(holder.getImage());
}

有关完整的教程,您可以访问https://ledron.github.io/RecyclerView/

答案 1 :(得分:0)

不要通过MainActivity.this作为上下文,这总是错误的。

尝试

//in activity
Glide.with(this) 
       .load("https://pbs.twimg.com/profile_images/1123379185764917248/On9ZnfVh.png")
       .into(imageView)

//in Fragments
Glide.with(view.context)
  .load("url")
  .into(imageView)

用您自己的替换.load(“ url”)和“ imageView”。

答案 2 :(得分:0)

删除依赖项中的以下行

annotationProcessor'com.github.bumptech.glide:compiler:4.10.0'

答案 3 :(得分:0)

我可以使用glide加载您的图片网址:

implementation 'com.github.bumptech.glide:glide:4.9.0'

Glide.with(this@MainActivity)
                .load("https://img.youtube.com/vi/EEX_XM6SxmY/mqdefault.jpg")
                .placeholder(R.mipmap.ic_launcher)
                .error(R.mipmap.ic_launcher)
                .into(imageView)