java–Glide 3.8.0在RecyclerView中有重复的图像

java–Glide 3.8.0在RecyclerView中有重复的图像,第1张

概述我在我的RecyclerView适配器中使用滑动,当我快速滚动时,通常,有一些项目有重复图像.但是当我慢慢滚动时它不会发生.这是我的傻瓜.implementation'com.github.bumptech.glide:glide:3.8.0'这是我的bindViewHolder@OverridepublicvoidonBindViewHolder(RecyclerView

我在我的RecyclerVIEw适配器中使用滑动,当我快速滚动时,通常,有一些项目有重复的图像.但是当我慢慢滚动时它不会发生.

这是我的傻瓜.

implementation 'com.github.bumptech.glIDe:glIDe:3.8.0'

这是我的bindVIEwHolder

@OverrIDe    public voID onBindVIEwHolder(RecyclerVIEw.VIEwHolder holder, int position) {        if(holder instanceof NewsVIEwHolder) {            NewsVIEwHolder newsVIEwHolder = (NewsVIEwHolder) holder;            final Article article = articleList.get(position);            newsVIEwHolder.tvname.setText(article.getTitle());            newsVIEwHolder.tvDescription.setText(article.getDescription());            ImageLoaderHelper.getimageFromUrl(article.getUrlToImage(), newsVIEwHolder.ivImage, signatureCache);            newsVIEwHolder.itemVIEw.setonClickListener(new VIEw.OnClickListener() {                @OverrIDe                public voID onClick(VIEw vIEw) {                    onNewsItemClickListener.onNewsItemClick(article);                }            });        }    }

这是我的帮手

public class ImageLoaderHelper {    public static voID getimageFromUrl(String url, final ImageVIEw imageVIEw, String signature) {        if(url != null && !url.equals("")) {            GlIDe.with(imageVIEw.getContext())                    .load(url)                    .asBitmap()                    .diskCacheStrategy(diskCacheStrategy.RESulT)                    .skipMemoryCache(true)                    .signature(new StringSignature(signature.trim()))                    .into(new SimpleTarget<Bitmap>() {                        @OverrIDe                        public voID onResourceReady(Bitmap resource, GlIDeAnimation<? super Bitmap> glIDeAnimation) {                            imageVIEw.setimageBitmap(resource);                        }                    });        }        else {            GlIDe.clear(imageVIEw);            imageVIEw.setimageBitmap(null);        }    }}

然后是imagevIEw

<ImageVIEw     androID:ID="@+ID/ivImage"     androID:layout_wIDth="match_parent"     androID:layout_height="wrap_content"     androID:adjustVIEwBounds="true"     androID:scaleType="centerCrop" />

这个解决方案吗?

解决方法:

尝试

Requestoptions requestoptions = new Requestoptions();requestoptions.error(R.drawable.no_image);GlIDe.with(context).setDefaultRequestoptions(requestoptions).load(APIInterface.Image_URL_Local +              recentviewmodels.get(position).getimagePath()).into(holder.binding.ivProductimage);

在适配器中的onBindVIEwHolder中

总结

以上是内存溢出为你收集整理的java – Glide 3.8.0在RecyclerView中有重复的图像全部内容,希望文章能够帮你解决java – Glide 3.8.0在RecyclerView中有重复的图像所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1116722.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存