滚动时如何将数据加载到RecyclerView中

时间:2019-10-15 08:51:38

标签: java android adapter

我正在使用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"/>

Java:

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

1 个答案:

答案 0 :(得分:1)

如官方文档中所述,

  

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

因此,如果您使用RecyclerView,则不必担心此问题