美文网首页
BaseRecylerViewAdapter的封装

BaseRecylerViewAdapter的封装

作者: weioule | 来源:发表于2018-11-02 15:49 被阅读454次

Android现在的新项目中,列表的使用基本上都是RecycleryView,而之前的ListView以逐渐被它替换,通俗的讲因为ListView能干的他都能干,ListView不能干的一些拓展它也能干,比如:横向的列表啊、ViewHolder的回收复用啊、控制Item增删的动画啦等等。

那么我们在一个项目里面Base基类肯定是少不了的啦,前几天公司新的app刚完成1.1.0版的开发,1.2.0的接口还没好,所以就整理整理一些能抽取的基类,以便之后更好的复用及拓展。

整理过程中写了个demo,想着都写好了那就传到github上,之后需要的同学也可以直接使用,避免重复造轮子,费时费力多不划算啊。

这demo里面主要有:

1,RecycleryViewAdapter的封装:BaseRecylerViewAdapter

2,ViewHolder的封装:BaseViewHolder

3,RecycleryView的分割线的封装:RecyclerViewDivider

4,ListViewAdapter的封装:AbsListAdapter

BaseRecylerViewAdapter,它可以实现添加头尾布局,而且支持多层头尾添加与多条目列表;还实现了子条目与子条目childView的点击监听和长按监听;增删改查都对并发进行了线程安全限制,防止对操作数据的不一致。

BaseViewHolder主要是抽取了findViewById与一些数据填充的方法,避免每次调用的时候去初始化控件再去对view进行填充等造成的代码冗余。

RecyclerViewDivider主要就是封装了常见类型的分割线的尺寸与颜色等。

AbsListAdapter就是对ListAdapter的封装,避免写过多重复的代码。要是不想使用RecycleryView的同学那使用ListViewAdapter做基类也是可以的。

这里就不贴出代码了,那样很容易丢三落四,要用的直接到github上拷贝或者下载好了。

项目地址:https://github.com/weioule/BaseRecylerViewDemo

相关文章

  • BaseRecylerViewAdapter的封装

    Android现在的新项目中,列表的使用基本上都是RecycleryView,而之前的ListView以逐渐被它替...

  • JavaScript面向对象与设计模式

    1. 面向对象 1.1 封装 封装的目的在于将信息隐藏。广义的封装不仅包括封装数据和封装实现,还包括封装类型和封装...

  • 02.OOP面向对象-3.一些理解

    对封装的理解?封装,类本身就是一个封装,封装了属性和方法。方法也是封装,对一些业务逻辑的封装。私有也是封装,将一些...

  • node学习4

    Nodejs 路由模块封装、封装仿照 express 的路由 Nodejs 路由模块封装 封装仿照 express...

  • python 文件及文件夹的操作和异常捕获

    1、面向对象的特征:封装、继承、多态 1.1、封装: 函数一种封装,封装了一些逻辑代码 类也是一种封装,封装属性和...

  • view的封装

    封装view较为简单,封装tableview比较麻烦,封装tableview的方法后面会有。 view的封装 如果...

  • 面向对象02-封装

    面向对象02-封装 [TOC] 好处 广义的封装:方法、类、包狭义的封装:类中的属性的封装 封装的具体体现 规范 代码

  • JavaScript的面向对象--封装的实现、类型、变化

    封装的目的是将信息隐藏。一般而言,我们讨论的封装是封装数据和封装实现。这里将讨论更广义的封装,不仅包括封装数据和封...

  • 2018-03-17

    Python的封装和继承 1、封装顾名思义,就是把内容封装好,再调用封装好的内容。封装分为两步:第一步为封装内容第...

  • MVVM在网络中应用(OkHttp+Retrofit+Gson+

    1.封装请求地址常量类 2.封装网络工具类 3.封装接口类 4.封装DTO类——即返回的数据封装模型 5.封装请求...

网友评论

      本文标题:BaseRecylerViewAdapter的封装

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