SmartRefreshLayout 下拉刷新和上拉加载更多数据处理

STM32H750xx【QSPI】轮询方式读写GD25Q64E 本文详细介绍了GD25Q64E其特性、引脚定义及功能说明,重点阐述了在STM32H750平台上通过CubeMX配置QuadSPI接口的步骤,包括时钟设置、参数优化等。文章提供了完整的BSP驱动开发流程,涵盖写使能、四线模式使能、ID读取、解除保护、扇区擦除、整片擦除、页编程和数据读取等关键功能实现,并通过读写测试验证了DummyCycles参数对数据准确性的影响。 阅读详情

项目中对分页数据加载和刷新是最常见不过的了,运用SmartRefreshLayout控件,改控件是功能比较全面的刷新控件,值得深入学习一下

github地址:https://github.com/scwang90/SmartRefreshLayout

1.首页在lib-base(专门放库的项目中)引入刷新控件代码库:

api 'com.scwang.smartrefresh:SmartRefreshLayout:1.1.0'  //1.0.5及以前版本的老用户升级需谨慎,API改动过大

2.其次在布局文件xml中写布局:

<com.scwang.smartrefresh.layout.SmartRefreshLayout
        android:id="@+id/srl_deal_flow"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:srlEnableScrollContentWhenLoaded="true"
        app:srlEnableFooterFollowWhenLoadFinished="true">

 // RecyclerView 控件

</com.scwang.smartrefresh.layout.SmartRefreshLayout>

3.初始化控件之类就不多说了,

4.下拉刷新和上拉加载更多方法调用网络数据:

private int page = 1; 
// 下面10为offset 偏移量
mSrl_dealFlow.setOnRefreshListener(new OnRefreshListener() {
            @Override
            public void onRefresh(@NonNull RefreshLayout refreshLayout) {
                mSrl_dealFlow.getLayout().postDelayed(new Runnable() {
                    @Override
                    public void run() {
                        page = 1;
                        // 四个参数
                        getRechargeData(DateUtil.getYear(),DateUtil.getMonth(),page,10);
                        mSrl_dealFlow.finishRefresh();
                        mSrl_dealFlow.resetNoMoreData();//setNoMoreData(false);
                    }
                },2000);

            }
        });
        mSrl_dealFlow.setOnLoadMoreListener(new OnLoadMoreListener() {
            @Override
            public void onLoadMore(@NonNull final RefreshLayout refreshLayout) {
                mSrl_dealFlow.getLayout().postDelayed(new Runnable() {
                    @Override
                    public void run() {
                        if (commonDealFlowAdapter.getCount() > 30) {
                            ToastUtil.show(getActivity(),"数据全部加载完毕");
                            refreshLayout.finishLoadMoreWithNoMoreData();//将不会再次触发加载更多事件
                        } else {
                            page++;
                            // 两个参数
                            getRechargeData(page,10);
                            refreshLayout.finishLoadMore();
                        }
                    }
                },2000);
            }
        });

5.在初始化List集合的时候,需要在初始化数据的时候就要进行初始化:

 @Override
    public void initData(Bundle savedInstanceState) {
        mRechargeList = ObjectUtil.newArrayList();
        getRechargeData(1,10);
    }

6.在处理服务端返回过来的数据,需要注意在page值为1的时候,也就是第一页的时候,需要将List集合中的数据进行清空,这个时候也就是下来刷新数据,

private void processRechargeData(String str) {
        if(page == 1){
            mRechargeList.clear();
        }

 

 

 

 

 

 

 

 

 

高通GAIA V3命令参考手册的研读学习(15):自定制命令的详细工作描述 里的示例一样,手机APP发出这个GetManuFacturer的命令发0x0000,那么耳机回复:0x8000, 同时在回复的playload部分,用最多15个字节的ACSII码来表达制造商信息(因此最多15个字母)。那么这个APP在通过GAIA协议控制这个耳机时,不仅可以通过前面讲过的vendor ID来识别,也可以更进一步通过这个命令来识别这个耳机,到底是不是本公司的。通过这个可变长度的playload,真的是可以传达极多的事先约定的信息,相当的灵活,真是不错!这个命令用来得到设备的制造商信息。 阅读详情

相关推荐

ESP32+ST7789 LCD屏实战:5分钟搞定中文显示与图片渲染(附完整代码)

本文提供了一份详细的ESP32驱动ST7789 LCD屏幕的实战指南。通过清晰的SPI硬件连接说明、ESP-IDF框架下的初始化代码,以及图片渲染与中文字库构建的核心算法,帮助开发者快速实现中文显示与图片渲染功能,并附有完整的代码示例和性能优化技巧。

weixin_29189377的博客 440

SmartRefreshLayout使用中遇坑总结

先放该第三方库的GitHub地址 https://github.com/scwang90/SmartRefreshLayout/tree/master

GBYQ66的博客 2万+

基于ROS2的无人机野生动物巡查系统设计

自主巡检系统是嵌入式人工智能与机器人技术融合的关键应用方向,其核心在于多源感知融合、实时路径规划与端侧智能识别的协同实现。原理上依赖SLAM定位构建环境地图,结合栅格化建模与混合路径算法(如蚁群+BFS)达成全覆盖遍历;技术价值体现在资源受限平台下的确定性响应与时空对齐能力,支撑高鲁棒性野外作业。典型应用场景包括生态监测、禁飞区巡检及小尺度智能安防。本文围绕ROS2 Humble中间件架构、Livox激光雷达与MaixCAM视觉协同、YOLO11n INT8模型端侧部署等关键技术展开,突出嵌入式AI与实时控

weixin_30598047的博客 650

RecyclerView#Adapter支持无数据布局、错误布局和列表尾部的”没有更多了“布局

RecyclerView#Adapter支持无数据布局、错误布局和列表尾部的”没有更多了“布局 实际开发中,UI小姐姐都会提供通用的无数据页面、错误提示页面。 针对常见的支持下拉刷新和上拉加载更多的列表页面,将他们的通用逻辑抽取出来,这样我们在开发过程中就只需要关注具体的业务逻辑了,无需每次通过cv来完善无数据页面、错误提示页面的逻辑了。 业务场景梳理 不支持分页 列表页根据业务场景中的是否需要分页来进行区分,不支持分页的逻辑简单。具体如下图所示: 不分页的列表页,请求数据后就三种结果:有数据、无数据、错

tinyVampire的博客 1551

告别JSON!Anthropic发布Tool Calling 2.0,Agent上下文消耗骤降80%

Anthropic发布ToolCalling 2.0更新,彻底革新AI Agent开发模式。四大核心特性:1)程序化工具调用,允许模型直接输出可执行代码替代JSON交互,降低30-50%Token消耗;2)动态网页过滤,自动清洗网页内容减少24%无效信息;3)工具搜索机制,按需加载工具定义,最高优化80%上下文窗口;4)工具使用示例,通过Few-Shot示范提升复杂表单处理准确率至90%。这一升级将Agent范式从"大模型作为路由"推进到"大模型作为引擎",但需注意代

老孙 | Ethan Sun 的博客:AI 智能体与 AI 原生软件的工程实践 797

计算机三级考试嵌入式系统重点精简汇总

第一章 嵌入式系统概论 1.1.1嵌入式系统 (1)特点:(1)专用性;(2)隐蔽性;(3)资源受限;(4)高可靠性;(5)实时性;(6)软件固化。 (2)应用:(1)冰箱、洗衣机、电饭煲、空调、摄影机、DVD播放器等;(2)数控机床、飞机、汽车、电梯、X光机、血压计等;(3)电话机、传真机、打印机、pos机、GPS导航仪、路由器等。 1.1.2嵌入式系统组成与分类 (1)逻辑组成:硬件和软件,分为处理器、存储器、I|0设备与I|O接口,数据总线; (2)处理器:分为主处理器(CPU)和协处

chemkrik的博客 1万+

SmartRefreshLayout注意点

/完成加载并标记没有更多数据 1.0.4。//恢复没有更多数据的原始状态 1.0.5。如果该列表还有其他用途,必须要将状态重置,否则无法继续下拉加载之后的数据。

王的备忘录 795

深度学习之目标检测--Pytorch实战

只需要能看懂python代码,就能最快入门深度学习---目标检测。目标检测简单的玩玩儿还行,模型调优,调参,还需要一定的数学功底。通过代码来实现卷积,池化,非线性激活,正则化,归一化,能让人减少对大量数学公式的敬畏,手写神经网络也是考研复试中上机考试的压轴题,掌握搭建神经网络和如何训练模型是需要掌握的基础的

需要远程指导仿真实验、代码有问题的,请后台私信或者关注公众号 1万+

SmartRefreshLayout 方法解读以及使用

refreshLayout.setEnableAutoLoadMore(false);//使上拉加载具有弹性效果 refreshLayout.setEnableOverScrollDrag(false);//禁止越界拖动(1.0.4以上版本) refreshLayout.setEnableOverScrollBounce(false);//关闭越界回弹功能 app:srlEnableFoote...

李建国的博客 9214

安装anaconda3时出现错误:Failed to link extracted packages to D:\anaconda!...如何解决?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值 。

**My Coding Family** 1483

【ARMv9 DSU-120 系列 1 -- DSU-120 DynamIQ 概述】

ARMv9架构中的DynamIQ™ Shared Unit-120(简称DSU-120)为一组基于Cortex-A类架构的核心提供了共享的L3内存系统、窥探控制(snoop control)和 过滤(filtering) 以及其他支持集群运作的控制逻辑。这个集群被称为DSU-120 DynamIQ™集群。此外,所有连接到片上系统(SoC)的外部接口也都是通过DSU-120提供的。一个DSU-120 DynamIQ™集群可以包含1到14个核心,且同一集群中可包含多达三种不同类型的核心。

CodingCos的博客 1189

Jetpeck paging3实践(2)——结合smartrefreshLayout实现下拉刷新和加载更多

Jetpeck paging3实践(2)——结合smartrefreshLayout实现下拉刷新和加载更多 一、问题背景 上次实现了paging3无限加载网页数据,然后想实现一下之前原生实现的下拉刷新和底部上滑加载更多的效果,网上随便搜了下,没看到想要的demo效果, 自己撸一个,结合之前原生使用的smartRefresh...

baorant24的博客 409

COMSOL有限元仿真深度指南:为结构件添加预应变

一、什么是预应力和预应变? 我们知道,结构力学问题中,结构件在外载荷作用下产生变形响应以吸收外载荷做功带来的能量;而在结构内部,整体的受力和变形则是通过固体微元的应力与应变传递的。 对于线弹性材料来说,应力与应变的关系可以线性表达,也即 σ=Dεσ = Dεσ=Dε ;在该式中,无论固体微元的应变程度多大,弹性矩阵DDD都是一个不变的常值。而对于超弹性材料来说,应力与应变的关系则需要通过应变能密度函数WWW来表征(详细参加博客《COMSOL有限元仿真深度指南:超弹性模型有限元分析入门》)。 从上面我们也不难

忘了面孔的Batou 7172

android 首页请求数据完整逻辑,Android 网路请求列表返回逻辑处理

一、前言:我们在网络请求时,总有分页加载等,处理业务逻辑也是比较混乱的,容易出现各种Bug,下面我这种模式用了很久,记录一下,有任何问题,欢迎指正。二、方式一:采用 SmartRefreshLayout框架,下拉刷新采用autoRefresh(),上拉加载更多是根据addOnScrollListener()自定义写的。注意:什么时候加载更多,完全可以自定义。(本文是滑动到数据一半,开始加载更多。)...

weixin_39582737的博客 363

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

安卓各种框架使用

1.网络请求框架 okhttp OkGo retrofit 2.图片下载框架 glide picasso coil是Android上的一个全新的图片加载框架,它的全名叫做coroutine image loader,即协程图片加载库。与传统的图片加载库Glide,Picasso或Fresco等相比。该具有轻量(只有大约1500个方法)、快、易于使用、更现代的API等优势。它支持GIF和SVG,并且可以执行四个默认转换:模糊,圆形裁剪,灰度和圆角。(并且是全用Kotlin编写,如果你是纯Kotlin...

small44444的博客 2081

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Android ListView分页加载数据

下面用一个例子记录如何在Android中分页加载ListView的数据: 程序运行的结果如下: 点击加载更多后,会加载新的数据并显示在ListView中,当数据达条数达到某个上限后,点击加载更多不再显示 一、定义footerView  “点击加载更多”是一个单独的布局,layout文件代码如下(footer_view.xml): <LinearLayout xmlns:andr

记录技术,记录生活 1175

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

5分钟用BaseRecyclerViewAdapterHelper搭建列表原型

点击'项目生成'按钮,等待项目生成完整后预览效果 今天想和大家分享一个快速搭建社交媒体Feed流原型的经验。作为一个经常需要和产品经理沟通的开发者,我发现用BaseRecyclerViewAdapterHelper这个库可以大大提升原型开发效率。下面我就以常见的社交APP Feed流为例,讲讲如何在5分钟内搭建一个可交互的演示原型。准备工作 首先需要明确原型需要展示的核心功能点。对于社交Feed流来说,通常需要支持多种帖子类型展示、基本的交互功能以及流畅的刷新体验。BaseRecyclerViewAdap

CyanWave34的博客 262

SmartRefreshLayout 常见坑

SmartRefreshLayout 常见坑

qq_16580465的博客 1400

SmartRefreshLayout 下拉刷新上拉加载在多个Fragment中有时候会失效(个人笔记)

在new 多个Fragment 在frament 中使用SmartRefreshLayout  上拉加载下拉刷新 ,但是切换几次之后 在切回来发现 onLoadmore() onRefresh()都失效了 我是在onCreateView 注册监听 感觉理解可能是当前界面frament的监听被另一个frament的监听覆盖了 所以  当前的onLoadmore() onRefresh()都失效了 本...

only_you_zj的博客 3784

fullter 二次封装 下拉刷新 上拉加载更多

使用到的插件 pull_to_refresh | Flutter Packagea widget provided to the flutter scroll component drop-down refresh and pull up load.https://pub.flutter-io.cn/packages/pull_to_refresh #下拉刷新 pull_to_refresh: ^2.0.0 大致效果: 在这里我们对 pull_to_refresh 进行了两次..

唐僧的专栏 1729

android的数据更新过程,Android中用SmartRefreshLayout实现ListView列表的数据刷新与加载更多(总结)...

这里用到的是第三方插件:SmartRefreshLayout效果图如下: 使用步骤如下:1、添加远程依赖/*刷新和加载*/implementation 'com.scwang.smartrefresh:SmartRefreshLayout:1.1.0-alpha-14'implementation 'com.scwang.smartrefresh:SmartRefreshHeader:1.1.0-...

weixin_36026454的博客 1509

Android SmartRefreshLayout刷新

1.首先导入依赖 implementation 'com.scwang.smartrefresh:SmartRefreshLayout:1.1.0' implementation 'com.scwang.smartrefresh:SmartRefreshHeader:1.1.0' 2.布局文件 <com.scwang.smartrefresh.layout.SmartRefresh...

qq_42191634的博客 771

项目封装库系列之“二”,SmartRefreshLayout刷新库

android SmartRefreshLayout 刷新库简单记录

BirdEatBug的博客 1178

Android 调用SmartRefreshLayout遇到的问题

1.新建的项目没有改配置的情况下点击这个snyc的时候·报错(Failed to resolve),编译会警告,拟引入的项目无法解析 在没配置代理无法科学上网的情况下我们在settings.gradle里加入下面的 pluginManagement { repositories { maven { url 'https://maven.aliyun.com/repository/public' } maven { url 'https://maven.aliyun.

qq_38030465的博客 1605

Android下拉刷新和上拉加载

先看看XML布局文件,下拉刷新和上拉加载哪个在外层并没有什么影响。最里面嵌套了一个RecycleView。 &lt;android.support.v4.widget.SwipeRefreshLayout     android:id="@+id/gridswipreRefresh"     android:layout_below="@+id/grid_view"     style="...

LEO_ANDERSON的博客 657

SmartRefreshLayout 一些比较重要的方法

SmartRefreshLayout.finishLoadmoreWithNoMoreData();//没有更多 SmartRefreshLayout.resetNoMoreData();//恢复没有更多数据的原始状态 SmartRefreshLayout.finishRefresh();//结束刷新 SmartRefreshLayout.finishLoadMo...

raotenghong2611的博客 1万+
上一篇: LeetCode 两数之和
下一篇: 仿ios的自定义dialog和访问服务端加载数据转圈等待效果
fyldragonfyl
博客等级 码龄12年 9粉丝 68原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值