美文网首页Android知识今日看点Android开发
RecyclerView没法上拉加载更多?--个人笔记

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

作者: 不识水的鱼 | 来源:发表于2016-09-25 13:17 被阅读1137次

    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能够获取到位置,或者寻求其他的加载更多的方法。

    相关文章

      网友评论

        本文标题:RecyclerView没法上拉加载更多?--个人笔记

        本文链接:https://www.haomeiwen.com/subject/xvdfyttx.html