RecyclerView没法上拉加载更多?--个人笔记

RecyclerView的使用是非常常见的,在加载更多常用的方法是

    private void setLoadMoreListener() {
    final GridLayoutManager layoutManager = (GridLayoutManager)mRecyclerView.getLayoutManager();
    //设置滑动监听,当滑动到最后一个时,加载更多
    if (onScrollListener == null) {
        onScrollListener = new RecyclerView.OnScrollListener() {
            @Override
            public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
                super.onScrolled(recyclerView, dx, dy);
             lastVisibleItemPosition=layoutManager.findLastCompletelyVisibleItemPosition();
                if (lastVisibleItemPosition == layoutManager.getItemCount() - 1) {
                    //加载更多
                    page++;
                    getVideoInfo();
                }
            }
        };
        mRecyclerView.setOnScrollListener(onScrollListener);
    }  

但是最近遇到了加载不了的一个坑,加载了一部分,之后就没法加载更多了,找了好久的bug,打印Log日志终于找到了,在这里记录一下,其实就是

  layoutManager.findLastCompletelyVisibleItemPosition();  

这个方法获取数据失败,一直返回-1。有时能够加载,加载一部分就没法加载了,其原因主要这当滑动到最后一个可见的item的时候,这个item的高度超过了手机的屏幕的高度,由于是多个布局,偶尔有一个item的高度超过了屏幕高度,又恰好这个item在最后,就没法加载更多了,没办法,找办法解决呗,
要不就重新把布局相对降低一点高度,让RecyclerView的layoutmanager能够获取到位置,或者寻求其他的加载更多的方法。

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 180,697评论 25赞 708
  • 内容抽屉菜单ListViewWebViewSwitchButton按钮点赞按钮进度条TabLayout图标下拉刷新...
    皇小弟阅读 47,338评论 22赞 665
  • RecyclerView包含以下几个重要的组件:1.LayoutManager: 测量和布局子View2.Recy...
    乌龟爱吃肉阅读 3,673评论 4赞 7
  • 云遮半月霜满地,静卧床头思千里。 人生道路多坎坷,远行社会实做人。 取物易得求物难,成人简单完人殇 不知明日物几分...
    幻城彡小孩无爱阅读 211评论 0赞 0
  • 在齐市第一人民医院旁,有一座小公园,园内有湖有亭有古树,还有早起锻炼的人们。 正门。 百年老树 遗爱亭。 树,秋韵...
    2016级7班服务生阅读 406评论 0赞 0

友情链接更多精彩内容