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上拷贝或者下载好了。
网友评论