(一) 超简单自定义上下刷新布局-LtRecyclerView v2.x版本(基本使用)

(二) LtRecyclerView v2.x (更多实用方法)

(三) LtRecyclerView v2.x (自定义刷新View)

LtRecyclerView2.x版本比1.x版本多了几个好用的功能,很实用
总体功能:

  1. 带有上拉加载和下拉刷新和回调
  2. 设置条目点击事件和条目长按事件
  3. 添加头布局和尾布局
  4. 添加没条目时展示的View(或者添加没条目和有条目时的回调事件)
  5. 添加分割线(也可以用图片)
  6. 自定义上拉加载的View
  7. 自定义下拉刷新的View(包括RecyclerView移动和不移动),而且非常简单
  8. 仅需修改一行代码即可更改所有的刷新View
  9. 可单独使用下拉刷新View

图示:

:

使用:

远程仓库引用:

在根项目的build.gradle文件中加入:


allprojects {repositories {
...maven { url 'https://jitpack.io' }}
}

需要添加的地方加入:

implementation 'com.github.ltttttttttttt:ltviews:2.8.0'//androidx
//下面的是support包中的,已被废弃,全面改用androidx包
implementation 'com.github.ltttttttttttt:ltviews:2.3.9'//android support 以后不再进行更新

正式使用

3.xml布局文件中:

    <com.lt.ltviews.lt_recyclerview.LTRecyclerViewandroid:id="@+id/rv"android:layout_width="match_parent"android:layout_height="match_parent"app:dividerHeight="1dp" //设置分割线的高度,默认颜色是#d5d5d5app:noItemText="暂无数据" //设置没有数据时展示的文字 />

在Application的onCreate中:

LtRecyclerViewManager.INSTANCE.init(this);

4.java代码使用示例,只需要set一个适配器和加一个加载的回调即可

rv = (LTRecyclerView) findViewById(R.id.rv);//创建一个适配器LtAdapter adapter = new LtAdapter() {@Overridepublic RecyclerView.ViewHolder onLtCreateViewHolder(ViewGroup parent, int viewType) {//在这里返回一个ViewHolder,构造里放需要展示的Viewreturn new RecyclerView.ViewHolder(new TextView(getApplicationContext())) {};}@Overridepublic int getLtItemCount() {//适配器展示多少条数据return 100;}@Overridepublic void onLtBindViewHolder(RecyclerView.ViewHolder holder, int position) {//给View设置数据((TextView) holder.itemView).setText("" + position);}};adapter.setOnRvItemClickListener(new OnRvItemClickListener() {@Overridepublic void onItemClick(View itemView, int position) {//条目的点击事件}});rv.setAdapter(adapter).setOnUpAndDownListener(new OnUpAndDownListener() {@Overridepublic void up() {//上拉加载时的回调}@Overridepublic void down() {//下拉刷新时的回调}});//设置每行有多少个条目,默认是1rv.setSpanCount(3);

5.设置刷新状态的方法

        rv.setTopRefresh(false);//设置是否下拉刷新rv.setBottomRefresh(false);//设置是否上拉加载rv.notifyDataSetChanged();//刷新数据源(更新条目)

6.Kotlin加持适配器(使用Kotlin语言可用),现在已经封装进来,ps:最新版封装的kt适配器文章:https://blog.csdn.net/qq_33505109/article/details/102916599

继承BaseLtAdapterOneType或BaseLtAdapterOneType使用

class MAdapter(list: ArrayList<InfoBean>) : BaseLtAdapterOneType<InfoBean>(list, item_layout的id) {override fun setData(h:BaseLtViewHolder, b: InfoBean, i: Int) {h.tvTitle.text=b.title//直接使用item的view内的id,然后使用bean类的属性赋值,i为position,h为viewholder(为了简单写,所以都用了单个字母的简写)//使用该功能需要在对应的model的gradle的android{}中加入下面代码,老版的最大版本为2.7.0(已不再维护老版本,因为性能没有这个高)//   androidExtensions {//       experimental = true//   }}
}

甚至可以直接这样快捷使用适配器,这么两行就相当于条目4里java代码里的一堆

rv.adapter = ltAdapterOf(mutableListOf(""), 0) {h, b, i ->  }

混淆

-keep class com.lt.ltviewsx.** { *;}

7.更多api和自定义放在下篇和下下篇文章(点击查看(二)更多实用方法)

该控件已开源,Github地址:https://github.com/ltttttttttttt/ltviews

若有bug可以提出来

转载请带上本文链接,谢谢

(一) 自带刷新的列表-LtRecyclerView v2.x版本(LtAdapter)(基本使用)相关推荐

  1. (三) LtRecyclerView v2.x (自定义上拉和下拉刷新View)

    (一) 超简单自定义上下刷新布局-LtRecyclerView v2.x版本(基本使用) (二) LtRecyclerView v2.x (更多实用方法) (三) LtRecyclerView v2. ...

  2. (二) LtRecyclerView v2.x (更多实用方法)

    (一) 超简单自定义上下刷新布局-LtRecyclerView v2.x版本(基本使用) (二) LtRecyclerView v2.x (更多实用方法) (三) LtRecyclerView v2. ...

  3. python怎么创建列表_用Python将一个列表分割成小列表的实例讲解 Python 如何创建一个带小数的列表...

    python里有一个列表,列表里有几个小列表,小列表#冒泡排序:scoreList = [['a',98],['c',45],['b',70],['d',85],['h',85],['f',92],[ ...

  4. AjaxPro无刷新选择列表框/下拉框[方便|稳定]

    前言    看到网上很多关于ASP.NET的无刷新选择列表框,服务器端有的返回DataSet,有的返回DataView,有的用分隔符拼接一个长字符串返回,相应的客户端解析也是各有不同.DataSet+ ...

  5. V2.0 版本的 《JavaGuide面试突击版》来啦!带着它的在线阅读版本来啦!

    大家好!我是 Guide 哥!V2.0 版本的 <JavaGuide面试突击版>来啦,带着它的在线阅读版本来啦! 历史更新查看: 完结撒花!JavaGuide面试突击版来啦! V1.1版J ...

  6. 优雅地实现一个高效、异步数据实时刷新的列表

    今日科技快讯 2月11日消息,据CNBC报道,当特斯拉公司于2019年1月宣布第二轮裁员以控制成本时,一个关键部门受到的打击尤为沉重.两名被裁汰的员工表示,负责向北美地区客户交付Model 3电动汽车 ...

  7. python权重是什么意思_在python带权重的列表中随机取值的方法

    1 random.choice python random模块的choice方法随机选择某个元素 foo = ['a', 'b', 'c', 'd', 'e'] from random import ...

  8. html中列表前面的序号带圆圈,js动态添加带圆圈序号列表方法

    js动态添加带圆圈序号列表方法 发布时间:2021-02-19 11:30:34 来源:亿速云 阅读:69 作者:小新 这篇文章给大家分享的是有关js动态添加带圆圈序号列表方法的内容.小编觉得挺实用的 ...

  9. 分析RM970 固件V2.5版本的图片文件列表

    --在RM970的早期固件版本中,我们是可以按照自己的意愿对其进行固件美化的,网上有很多这方面的教程.(例如:http://bbs.romman.net/thread-112858-1-1.html) ...

最新文章

  1. 关于AVR单片机熔丝位的设置和拯救方法大全 AVR单片机熔丝位的设置和详细的拯救方法...
  2. [转]使用rosbridge协议实现安卓跟ros的解耦
  3. 数据库索引的作用和长处缺点
  4. IET Cyber-Systems Robotics线上研讨会:聚焦人工智能与机器人前沿
  5. nsfocus 十周年了 时间过得好快啊... 恭喜下...
  6. 深入mysql慢查询设置的详解
  7. JavaScript如何来实现面向对象的核心封装,继承,多态
  8. aspx页面中文汉字显示为乱码
  9. 简单的Spring配置文件
  10. 教你快速录制gif动图
  11. 十大在线编程学习网站
  12. tyvj 1463 智商问题
  13. 《计算机网络:自顶向下方法(原书第七版)》 参考答案(英文版+中文版)
  14. 《PyTorch 深度学习实践》第10讲 卷积神经网络(基础篇)
  15. 京东口罩到货,邮件实时通知
  16. Python爬虫新手教程:微医挂号网医生数据抓取
  17. doc格式批量转docx
  18. 上台演讲怎么做?这篇文章告诉你
  19. Markdown Graph
  20. maven生成html单元测试报告,Maven中配置生成单元测试报告配置

热门文章

  1. F5 BIG-IP 远程代码执行漏洞 CVE-2021-22986 虚拟机上复现
  2. 【毕业求职季】-听说你想去大厂看学妹,带你看看腾讯微信产品岗面经(已offer)
  3. Cannot load 32-bit SWT libraries on 64-bit JVM
  4. numpy.ones() 详解
  5. 解决报错OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.
  6. mac下dashboard小控件开发实例(附源码)
  7. 《京东技术解密》——海量订单处理
  8. 老信贷总结:贷款催收技巧和注意事项
  9. 金融风控实战——迁移学习
  10. 【风险管理】系统技术框架