检测 RecyclerView 滚动时何时到达最底部位置

新手上路,请多包涵

我有这个 RecyclerView 的代码。

     recyclerView = (RecyclerView)rootview.findViewById(R.id.fabric_recyclerView);
    recyclerView.setLayoutManager(layoutManager);
    recyclerView.addItemDecoration(new RV_Item_Spacing(5));
    FabricAdapter fabricAdapter=new FabricAdapter(ViewAdsCollection.getFabricAdsDetailsAsArray());
    recyclerView.setAdapter(fabricAdapter);

我需要知道 RecyclerView 在滚动时何时到达最底部位置。可能吗 ?如果是,如何?

原文由 Adrian 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 456
1 个回答

在使用适配器声明和初始化您的 recyclerView 后使用此方法

recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {

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

            }

            @Override
            public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
                super.onScrolled(recyclerView, dx, dy);

                if(dy > 0){ // Scrolling Down


//**Look at the condition inside if, this is how you can check, either you //have scrolled till last element of your recyclerView or not.**

//------------------------------------------------------------------------------

            LinearLayoutManager linearLayoutManager = (LinearLayoutManager) recyclerView.getLayoutManager();

                        if (linearLayoutManager != null && linearLayoutManager.findLastCompletelyVisibleItemPosition() == recyclerViewList.size() - 1) {
                            //bottom of list!
                        }
//------------------------------------------------------------------------------

                }else if(dy < 0){
                    // Scrolling Up

                }

            }
        });

原文由 nikb727 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题