分享2个类完成的RecyclerView封装 , 简洁 通用

栏目: IOS · Android · 发布时间: 6年前

内容简介:代码已在多个项目中使用,已改版多次,目前功能稳定,抽出来远程库,方便复用。具体使用,可以下载代码,运行里面的Demo即可。
  1. 不管是ListView还是RecyclerView,大多数的基本写法都是写适配器,里面的重复性代码比较多,一堆Adapter,喜欢复制粘贴的内容更是混乱,非常容易出错
  2. 部分功能代码写在适配器中,某些功能不能复用,冗余度过高,免不了会复制粘贴
  3. 如果遇到复杂的列表时候(比如聊天界面),Adapter的内容更是爆炸
  4. 问题就是复用性偏差,代码冗余度高,可读性不好,容易出错.

解决的问题

  1. 主要解决复用性问题,代码简洁,基础流程固定,不会出错
  2. 这是一个组件思维,给我一个数据源,我来管理UI的展示和部分业务操作(类似常用的组合View或自定义View)。
  3. 通用性的封装,让全局使用统一的一个适配器,免除重复性代码;
  4. RecyclerView的展示一项对应一个ViewHolder,任意组合,无需设置ViewType即可完成复杂页面的拼接(比如聊天界面)

项目介绍

主要是对代码调用流程和固定代码的封装,

库的核心只有2个类

  1. RecyclerAdapter:通用的一个适配器
  2. RecyclerDataHolder:通用的数据包装类
  3. 还有几个很常用的通用功能类,可以忽略

使用简介

第一步:只有一个RecyclerAdapter适配器设置给RecyclerView (代码固定)

第二步:创建ReyclerView展示的一项
 xxxItemDataHolder类继承RecyclerDataHolder的实现方法即可 (写法固定)
 xxxItemDataHolder 实现方法三个方法 
 
 getItemViewLayoutId: 展示的布局id (写法固定)
 onCreateViewHolder: 设置ViewHolder,可自定义或直接new RecyclerViewHolder(写法固定)
 onBindViewHolder: 给ViewHolder设置数据 (变化的UI展示和业务)

第三步:创建数据源 List<xxxItemDataHolder> 并设置给RecyclerAdapter即可(写法固定)
复制代码

库中的其他几个功能类

  1. RecyclerCallBack 常用事件回调接口
  2. RecyclerViewHolder 添加了几个常用方法
  3. ItemSpaceDecoration 用来设置RecyclerView的行间距
  4. StickRecyclerAdapter 浮动标题设置
  5. OnPageScrollBottomListener 滚动到底部监听

代码已在多个项目中使用,已改版多次,目前功能稳定,抽出来远程库,方便复用。具体使用,可以下载代码,运行里面的Demo即可。

代码是自己的分享,仅供学习参考交流,有问题可直接留言或 联系QQ:1079569023


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Go Web 编程

Go Web 编程

[新加坡]Sau Sheong Chang(郑兆雄) / 黄健宏 / 人民邮电出版社 / 2017-11-22 / 79

《Go Web 编程》原名《Go Web Programming》,原书由新加坡开发者郑兆雄(Sau Sheong Chang)创作、 Manning 出版社出版,人名邮电出版社引进了该书的中文版权,并将其交由黄健宏进行翻译。 《Go Web 编程》一书围绕一个网络论坛 作为例子,教授读者如何使用请求处理器、多路复用器、模板引擎、存储系统等核心组件去构建一个 Go Web 应用,然后在该应用......一起来看看 《Go Web 编程》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

随机密码生成器
随机密码生成器

多种字符组合密码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具