首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >RecyclerView页脚未显示

RecyclerView页脚未显示
EN

Stack Overflow用户
提问于 2016-07-26 14:37:46
回答 1查看 184关注 0票数 1

我曾尝试在RecyclerView无限滚动中显示页脚,但页脚有时显示得太快,有时在all.Is上不显示,在给定的代码中有问题吗??

代码语言:javascript
运行
复制
 public class CustomRecyclerViewScrollListener extends    RecyclerView.OnScrollListener {
    int visibleCount = 0;
    int totalItemCount = 0;
    int pastVisibleItems = 0;
    int lastVisibleItem=0;

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

        visibleCount = llm.getChildCount();
        totalItemCount = llm.getItemCount();
        pastVisibleItems = llm.findFirstVisibleItemPosition();
        lastVisibleItem=llm.findLastVisibleItemPosition();
        if (!isLoading && !dataFinished && list.size() % 10 == 0) {
            if ((visibleCount + pastVisibleItems) >= totalItemCount) {
                    isLoading = true;
                    loadMore();
                    adapter.showViewHolderFooter();                   

                 }
            }
        } else {             
               adapter.hideViewHolderFooter();               

        }
    }
EN

回答 1

Stack Overflow用户

发布于 2016-07-26 15:00:08

代码语言:javascript
运行
复制
private int firstVisibleItem, visibleItemCount,totalItemCount,pastVisiblesItems;
private boolean loading = true;

    reyclerView.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;
                                expandapleInt++;

                              //Your operation
                        }
                         }
                    }
                }
            });

在我的代码中,对于每个操作,在每次加载开始之前,将代码中的loading = true;设置为false

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

https://stackoverflow.com/questions/38582632

复制
相关文章

相似问题

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