天天看点

android RecycleView Adapter简单封装

早些时候我们使用系统提供个的baseadapter的时候为了满足大家的需要,我们总会对baseadapter做一层上层的封装,然后对于实际业务我们只需要关心getview里面的view即可,是代码可读性和可维护性更高,特别是在多view的界面,这个优势就体现出来了,自从android 5.0后系统提供的,先不说效率如何,这个既然是google为我们提供的,我们姑且用之,不过说实话,对于它的写法不习惯他的人看着很是麻烦,其实这个类无外乎继承自recyclerview.adapter然后提供一个holderview。

如下:

不过我们可不可以对上面的写法来一个精简呢?

其实分析下,adapter对我们有用的就两个方法,一个是获取adapter的view,然后是绑定数据onbinddata,至于数据的来源,我们可以借鉴recyclerview.adapter做一个泛型。

有了上面的思路,首先我们要获取adapter的view,然后将它赋给oncreateviewholder返回的view对象。所以我们的构造可以这么写,

然后我们需要绑定界面了,由于各个页面的对于的元素不一样,所以这个方法我们需要根据实际情况去动态绑定数据,所以我们需要写一个抽象方法去让用户实现,这个抽象方法主要包含viewholder界面,位置,还有item的元素(其实这个大可以不要)

当然我们这个adapter基础的类可能还需要一些常用入add,clear,del等操作方法。其完整的代码如下:

当然这里还有好多的辅助类,这里就不在详解解释了,那最好我们怎么用呢?很简单,来一个之前的例子:

android RecycleView Adapter简单封装

对于之前的baseadapter这里也贴给大家:

继续阅读