当前位置: 首页 > 知识库问答 >
问题:

如何用RecyclerView实现无尽列表?

越俊艾
2023-03-14

我想将listview更改为recyclerview。我想使用RecyclerView中的OnScrollListenerOnScroll来确定用户是否滚动到列表的末尾。

我如何知道用户是否滚动到列表的末尾,以便我可以从REST服务中获取新的数据?

共有1个答案

周和志
2023-03-14

感谢@kushal,这就是我实现它的方式

private boolean loading = true;
int pastVisiblesItems, visibleItemCount, totalItemCount;

mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
    @Override
    public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
        if (dy > 0) { //check for scroll down
            visibleItemCount = mLayoutManager.getChildCount();
            totalItemCount = mLayoutManager.getItemCount();
            pastVisiblesItems = mLayoutManager.findFirstVisibleItemPosition();

            if (loading) {
                if ((visibleItemCount + pastVisiblesItems) >= totalItemCount) {
                    loading = false;
                    Log.v("...", "Last Item Wow !");
                    // Do pagination.. i.e. fetch new data

                    loading = true;
                }
            }
        }
    }
});

别忘了加上

LinearLayoutManager mLayoutManager;
mLayoutManager = new LinearLayoutManager(this);
mRecyclerView.setLayoutManager(mLayoutManager);
 类似资料:
  • 问题内容: 当用户访问列表中可见的项目时,如何在底部显示进度栏。 我编写了一个代码,其中使用Web服务获取数据,现在我想填充部分记录,因为我的JSON中大约有 630条记录 。 这是我用来从JSON获取数据并填充到RecyclerView中的整个代码。 这是我的JSON的外观,但是真实的JSON包含600多个记录: 有人可以指导我在我的代码中进行更改的地方吗? 每当用户使用进度条滚动到底部时,我想

  • 我正在尝试使我的循环回到列表的开始。 这是我当前用来检测列表末尾的东西(在这里找到): 当滚动到最后时,我希望视图在显示列表顶部的数据时是可见的,或者当滚动到列表顶部时,我将显示列表底部的数据。 例如: 视图5视图1视图2视图3视图4

  • 本文向大家介绍Android RecyclerView实现下拉列表功能,包括了Android RecyclerView实现下拉列表功能的使用技巧和注意事项,需要的朋友参考一下 现在市面上的很多的应用,都带有下拉列表的功能,将所有选项都放在下拉列表中,当用户点击选择的时候,弹出所有的选项,用户选择一项后,下拉列表自动隐藏,很多下拉列表都是用ListView + PopupWindow来实现的,由于G

  • 我想在我的列表中实现部分。我有一个任务列表。列表有一个自定义适配器,它扩展了回收器视图滑动适配器,因为我已经实现了对回收器视图的滑动手势。 现在,任务列表与已完成和待处理的任务一起显示。每个列表项都有一个复选框,显示任务已完成或挂起。 如果选中复选框,则任务完成,反之亦然。现在我想在这篇文章中用页眉做两个部分。一个用于已完成的任务,另一个用于待完成的任务。 所以完成的任务应该显示在完成的部分中,反

  • 我正在尝试在Android中实现一个自定义线性布局管理器。用于获得水平自动滑动的RecolyerView。但是当我试图将自定义类调用到主java类中时,我会遇到一些问题。 下面列出了我的代码所面临的问题。 请告诉上述错误的解决方法。另外,请精确的代码,以实现水平自动滑动回收视图。使用我已经提到的自定义线性布局管理器。

  • 问题内容: 如何在Java中实现jpeg-lossess? 会抛出异常: 该只打印。 使用(版本1.1.3): 还抛出异常: 你能写个样本吗? 问题答案: 标准Java没有JPEG-LS的压缩类型。 您可以下载并使用JAI(Java高级映像)API,尽管我相信它包括这样的压缩类型。 可以从这里下载