首页 > 解决方案 > 滚动时如何将数据加载到 RecyclerView

问题描述

我正在使用 RecyclerView,它调用所有数据项,用户甚至看不到这些数据项。那么我怎样才能只加载用户看到的那个项目,或者在滚动时加载

XML:

  <androidx.recyclerview.widget.RecyclerView
    android:id="@+id/post_ImagesRecyclerView"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_margin="5dp"
    android:background="@color/grey_bg"
    android:nestedScrollingEnabled="false"/>

爪哇:

    postAdapter = new PostAdapter(context, false, false, postList, this, 1, loadType);
        LinearLayoutManager postListManager = new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false);
        post.setLayoutManager(postListManager);
        post.setAdapter(postAdapter);

标签: javaandroidadapter

解决方案


正如官方文档中所说,

列表中的视图由视图持有者对象表示。这些对象是您通过扩展 RecyclerView.ViewHolder 定义的类的实例。每个视图持有者负责显示带有视图的单个项目。例如,如果您的列表显示音乐收藏,则每个视图持有者可能代表一个专辑。RecyclerView 只创建显示动态内容的屏幕部分所需数量的视图持有者,以及一些额外的。当用户滚动列表时,RecyclerView 获取屏幕外视图并将它们重新绑定到滚动到屏幕上的数据。

所以,如果你使用 RecyclerView 你不应该担心这个问题


推荐阅读