Recyclerview仅在显示itemview时加载Image

时间:2016-04-21 18:48:52

标签: android android-recyclerview onscrolllistener

我想在我的recyclerview项目浏览中加载图片,但仅限于显示项目视图。 到目前为止,我在我的适配器中尝试了类似的东西:

if (holder.itemView.isShown()) {
            Log.e("SHOWn", "yes " + position);
        }
        if (holder.itemView.isFocused()) {
            Log.e("FOCUSED", "yes " + position);
        }
        if (holder.itemView.hasFocus()) {
            Log.e("HASFOCUS", "yes " + position);
        }

我尝试在我的片段中将onScrollListener添加到recylcerview:

recyclerViewSearchGif.addOnScrollListener(new RecyclerView.OnScrollListener() {
            @Override
            public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
                super.onScrolled(recyclerView, dx, dy);

            }

            @Override
            public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
                super.onScrollStateChanged(recyclerView, newState);
            }
        });

但我不知道如何在我的情况下使用它。 总而言之,我想在用户滚动时检测Recyclerview中的当前可见项目。

2 个答案:

答案 0 :(得分:0)

当您说加载图片时,您的意思是从网络加载图片吗?

您应该在您的recyclerview适配器中加载/绑定RecyclerView.Adapter#onBindViewHolder中的相应图像,这是在屏幕上显示项目时的回调。

答案 1 :(得分:0)

  

我想在我的recyclerview项目浏览中加载图片,但仅限于显示项目视图。

在执行onBindViewHolder()方法期间,recyclerview将生成固定/一定数量的视图以显示您的项目/图像...向下/向上滚动后,将再次调用onBindViewHolder()以生成相应的视图。