首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何初始化分页变量

如何初始化分页变量
EN

Stack Overflow用户
提问于 2020-11-12 12:23:51
回答 1查看 38关注 0票数 0

我使用了一个intiger变量。

代码语言:javascript
复制
int page=1;

private void pagination() {
        recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
            @Override
            public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
                super.onScrollStateChanged(recyclerView, newState);
                /*if (newState == AbsListView.OnScrollListener.SCROLL_STATE_TOUCH_SCROLL) {
                    isScrolling = true;
                }*/
            }

            @Override
            public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
                super.onScrolled(recyclerView, dx, dy);
                currentItems = manager.getChildCount();
                totalItems = manager.getItemCount();
                scrollOutItems = manager.findFirstVisibleItemPosition();
                if (isScrolling) {
                    if (totalItems > previousTotal) {
                        previousTotal = totalItems;
                        page++;
                        isScrolling = false;
                    }
                }
                if (!isScrolling && (currentItems + scrollOutItems == totalItems)) {
                    progressBar.setVisibility(View.VISIBLE);
                    //page=page+1;
                    /*new Handler().postDelayed(new Runnable() {
                        @Override
                        public void run() {
                        }
                    }, 5000);*/
                    getNext();
                    progressBar.setVisibility(View.GONE);
                    isScrolling = true;
                    Log.v("All Courses", "Page Number: " + page);
                }
            }
        });
    }

我想要显示所有课程,但使用8课程显示,当滚动然后下8课程显示。然后我点击任一课程,然后转到新的片段,但我在下一个片段中按了后退按钮,返回到课程片段,然后页面变量不初始化1值。页面变量存储下一个增量值。

EN

回答 1

Stack Overflow用户

发布于 2020-11-12 15:27:17

您可以使用以下代码进行分页,它工作得很好。将您的第一页数据添加到yourRecycler ,然后设置以下addOnScrollListener.:

代码语言:javascript
复制
private Integer currentPage = 1;
yourRecycler.addOnScrollListener(new RecyclerView.OnScrollListener() {
        @Override 
        void onScrollStateChanged(RecyclerView recyclerView, Integer newState) {
            super.onScrollStateChanged(recyclerView, newState)
            if (!recyclerView.canScrollVertically(1)) {
                currentPage++;
                getNextPage();
                
            }
        }
    })

您需要在以下函数中添加您的新页面添加操作:

代码语言:javascript
复制
private void getCurrentPage(){
    //add new page data to yourRecycler
}

注意:这是kotlin代码,我转换成了java。它可以包含缺少的分号等。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64797896

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档