android - 使用 SuperSLiM 库检测 RecyclerView 的 GridLayoutManager 滚动结束

标签 android scroll android-recyclerview gridlayoutmanager superslim

我已经搜索了一段时间,但找不到使用网格布局管理器检测回收器 View 滚动结束的解决方案。使用下面的代码实际上是可行的,但它适用于线性布局管理器而不是网格布局管理器。

            @Override
            public void onScrollStateChanged(RecyclerView recyclerView, int scrollState) {
                final int treeshold = 0;
                try {
                    if (scrollState == RecyclerView.SCROLL_STATE_IDLE) {
                        if (((LinearLayoutManager) recyclerView.getLayoutManager()).findLastVisibleItemPosition() >= yourData.size()
                                - 1 - treeshold) {
                            //your load more logic
                        }
                    }
                } catch (Exception e) {
                }
            }

这个想法是我想为我的应用程序实现加载更多功能,所以我需要检测滚动结束。

编辑:也许问题不是 GridView 本身。我使用 com.tonicartos.superslim 库来获取粘性标题 View 。我想知道这可能是问题所在

最佳答案

向您的RecyclerView添加滚动监听器,如下所示:

int pastVisiblesItems, visibleItemCount, totalItemCount;  
mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
                        @Override
                        public void onScrolled(RecyclerView recyclerView,
                                               int dx, int dy) {
                            super.onScrolled(recyclerView, dx, dy);
                            visibleItemCount = layoutManager.getChildCount();
                            totalItemCount = layoutManager.getItemCount();
                            pastVisiblesItems = layoutManager.findFirstVisibleItemPosition();

                           if ((visibleItemCount + pastVisiblesItems) >= totalItemCount) {
                                //bottom of recyclerview
                          }
                        }
    });

layoutmanager是你的GridLayoutManager

关于android - 使用 SuperSLiM 库检测 RecyclerView 的 GridLayoutManager 滚动结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34655139/

相关文章:

android - 如何在 android 中切换不同的选项卡(如 tab1、tab2)时停止调用 onCreateView?

java - 如何在 Firebase 中按字段过滤项目?

javascript - 显示隐藏对象的 JQuery .scroll() 事件不起作用

swift - slider 控制 NSScroller

jquery - 单击滚动按钮,每隔几秒只需单击一次

java - Android Kotlin : How to update recyclerView after async call? 获取 CalledFromWrongThreadException

android - RecyclerView OnBindViewHolder 意外

android对话框在它后面打开另一个 View

android - 如何使抽屉导航中的特定项目显示为选中状态?

android - 在 DialogFragment 中带有 simple_list_item_multiple_choice 的 RecyclerView