如何在RecyclerView中禁用图像重新加载

时间:2019-03-19 06:30:21

标签: android android-recyclerview android-glide

在我的recyclerview中,如果我向上/向下滚动,则会重新加载图像。它破坏了用户体验。

我知道recyclerview的默认行为。但我想像Whatsapp一样实现。如果已经加载,它们不会重新加载图像。有人向我建议。

我的Glide库代码:

   BitmapTypeRequest glideRequestmgr = Glide.with(context).load(getGlideURL(path, context)).asBitmap();

        glideRequestmgr.diskCacheStrategy(DiskCacheStrategy.ALL)
                .dontTransform()
                .dontAnimate()
                .into(new SimpleTarget<Bitmap>() {

                    @Override
                    public void onResourceReady(Bitmap arg0, GlideAnimation<? super Bitmap> arg1) {
                        imageView.setImageBitmap(arg0);
                    }
                });

3 个答案:

答案 0 :(得分:0)

尝试一下

GlideApp.with(context)
                    .asBitmap()
                    .load(pathToLoad)
                    .error(R.drawable.ob_glide_app_img_loader)
                    .listener(requestListener)
                    .into(simpleTarget)

答案 1 :(得分:0)

使用RecyclerView的属性,

recyclerview.setHasFixedSize(true);

答案 2 :(得分:0)

最后,我通过将recyclerview放在NestedScrollView中来解决了该问题

第1步:

<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.RecyclerView
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>
</android.support.v4.widget.NestedScrollView>

第2步:

recyclerView.setNestedScrollingEnabled(false);