前情提要:

  Android 端Adapter分页,下拉刷新,上滑分页,

  原有流程:上滑时,滑动触及底部,触发Adapter的onScrolled的方法

  异常情况:第一页数据完全显示,导致上滑时,未触及底部,未触发Adapter的onScrolled的方法

  修复:

    第一页数据完全显示时,上滑无法触发Adapter的onScrolled,

    判断,如果第一页数据在当前屏幕完全显示,则将数据的分页处理,放在onScrollStateChanged方法中处理

    • 判断当前Adapter的第一项item的高度(仅适用于,列表的每一项item高度一致)  
    • 触发onScrollStateChanged方法时,判断当前itemHeight * count 是否大于 当前RecyclerView的完全高度(取的是RecyclerView的父级的高度)
    • 如果大于,则不做处理,此时会触发onSrolled方法
    • 如果小于,则进行分页数据处理
  • myRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
    @Override
    public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
    super.onScrollStateChanged(recyclerView, newState);
    if (adapter.getItemHeight() * (adapter.getItemCount() - 1) < parentLayout.getHeight() && newState == SCROLL_STATE_IDLE) {
    // 数据一页显示完全,进行分页处理
    ...
    }
    } @Override
    public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
    super.onScrolled(recyclerView, dx, dy);
    int lastItemPosition = mLayoutManager.findLastCompletelyVisibleItemPosition();
    if (lastItemPosition + 1 == adapter.getItemCount() && dy > 0) {
    ...
    }
    }
    });

Android Adapter分页显示异常: 首页数据在屏幕内全显示,无法上滑分页的更多相关文章

  1. iview 中table列 一列显示多个数据(后台返回数组显示在列内)

    一.首先出现的是比较复杂的一种情况(多个key) 1.首先页面显示效果如下 2.后台返回数据格式如下: 3.在iview中table的columns中的render函数: 4.具体代码 render: ...

  2. jquery ajax请求方式与提示用户正在处理请稍等,等待数据返回时loading的显示

    1.jquery ajax请求方式与提示用户正在处理请稍等 为了提高用户体验度,我们通常会给出 “正在处理,请稍等!”诸如此类的提示.我们可通过设置$.ajax()下的参数beforeSend()来实 ...

  3. Android 利用代码在屏幕中间位置显示ProgressDialog和ProgressBar

    package cc.testprogressdialog; import android.os.Bundle; import android.view.Gravity; import android ...

  4. Android商城开发系列(七)—— 使用RecyclerView展示首页数据

    前面我们讲到了使用OkHttp请求网络和FastJson解析数据了,接下来我们就开始把获取到的数据通过数据适配器展示在页面上了.Adapter是用来帮助填充数据的中间桥梁,简单点说就是:将各种数据以合 ...

  5. 2016/3/27 分页 共X条数据 本页x条 本页从x-y条 x/y页 首页 上一页 123456 下一页 末页 pagego echo $page->fpage(7,6,5,4,3,2,1,0);

    显示效果: fpage.class.php <?php /** file: page.class.php 完美分页类 Page */ class Page { private $total; / ...

  6. matplotlib处理数据可是化的时候出现中文显示异常,为[][]的解决方法

    1.在使用matplotlib处理数据实现可是化操作的时候,处于语言习惯,经常会使用中文做图表备注,而中文显示会出现异常,如下图: 中文显示异常 那如何解决呢,实际上我们只需要在代码中添加两行内容即可 ...

  7. Android应用开发基础之三:数据存储和界面展现(三)

    生成XML文件备份短信 创建几个虚拟的短信对象,存在list中 备份数据通常都是备份至sd卡 使用StringBuffer拼接字符串 把整个xml文件所有节点append到sb对象里 sb.appen ...

  8. Android中仿淘宝首页顶部滚动自定义HorizontalScrollView定时水平自动切换图片

    Android中仿淘宝首页顶部滚动自定义HorizontalScrollView定时水平自动切换图片 自定义ADPager 自定义水平滚动的ScrollView效仿ViewPager 当遇到要在Vie ...

  9. Android编程中的5种数据存储方式

    Android编程中的5种数据存储方式 作者:牛奶.不加糖 字体:[增加 减小] 类型:转载 时间:2015-12-03我要评论 这篇文章主要介绍了Android编程中的5种数据存储方式,结合实例形式 ...

  10. (转载)Android之三种网络请求解析数据(最佳案例)

    [置顶] Android之三种网络请求解析数据(最佳案例) 2016-07-25 18:02 4725人阅读 评论(0) 收藏 举报  分类: Gson.Gson解析(1)  版权声明:本文为博主原创 ...

随机推荐

  1. day02模板与配置

    一.WXML模板语法 1.1 数据绑定 绑定内容 跟vue差不多,在页面的js文件定义到data里面 然后通过插值语法用在wxml中即可 绑定属性 直接写上插值语法,没有: 三元运算 生成一个十以内的 ...

  2. MakeSense标注指南

    1.网址 https://www.makesense.ai/ 2.操作流程 2.1 导入 点击get started 点击drop images,上传图片 选择obeject detection 新建 ...

  3. Docker自定义网段实现容器间的互访【开发环境中】

    我们都知道docker容器之间是互相隔离的,不能互相访问,但如果有些依赖关系的服务要怎么办呢,所以自定义网段实现容器间的互访. Docker 安装好之后默认会创建三个虚拟网卡,可以使用 docker ...

  4. C# EPPlus帮助类(EPPlusExcelHelper)

    public class EPPlusExcelHelper : IDisposable { public ExcelPackage ExcelPackage { get; private set; ...

  5. CF941

    A link 其实,只要有第一次,那么下次随意找一个队列里有的数加\(k-1\)个进去,加上队列里那一个删掉\(k\)个,到最后一次肯定是剩\(k-1\)个. 没有第一次,就是\(n\). 点击查看代 ...

  6. 张高兴的 MicroPython 入门指南:(三)使用串口通信

    目录 什么是串口 使用方法 使用板载串口相互通信 硬件需求 电路 代码 使用板载的 USB 串口 参考 什么是串口 串口是串行接口的简称,这是一个非常大的概念,在嵌入式中串口通常指 UART(Univ ...

  7. MFC--教你如何使用画刷(2)

    接下来我们用另外一个类CClientDC来实现我们的画线功能. CClientDC是由CDC派生出来的一个类,在函数构造的时候就会去调用GetDC来获得一个句柄,而在析构的时候便调用ReleaseDC ...

  8. 使用 useRequestEvent Hook 访问请求事件

    title: 使用 useRequestEvent Hook 访问请求事件 date: 2024/7/23 updated: 2024/7/23 author: cmdragon excerpt: 摘 ...

  9. Jmeter参数化3-正则表达式提取

    如果你想要将jmeter上个接口返回的参数值传到下个接口请求参去,可用正则表达式来提取传递 1.首先得到jmeter接口的json返回结果 2.组件路径:线程组->右键添加->后置处理器- ...

  10. 关于spring boot中mapper注入到service时IDEA报错的解决办法

    虽然这个错误不影响正常运行但是作为强迫症患者看着实属难受,经过在论坛查看资料学习到以下两种解决方法,可以供大家参考以下,如有什么错误的地方还希望各位大佬指定一下. 1.在注解@Autowired后增加 ...