使用Kotlin对RecycleView的Adapter进行封装

在12月05日凌晨的 Flutter Live 2018 上,Google 宣布 Flutter 1.0 正式发布。这是一个基于 Dart 的移动开发平台,旨在帮助开发者在 iOS 和 Android 两个平台上开发高质量的原生应用界面。此外,Google 还宣布了 Flutter 运行时基于 Web 的实验性实现,旨在将 Flutter 应用引入标准 Web 浏览器。

丫丫.jpeg

丫丫真美,Kotlin真香

下面给大家介绍一个简单实用的`RecyclerAdapter`的封装

日常开发中,我们几乎不可能不使用这个列表,但是如果每次都去手动去实现它的,相比是极其痛苦的。每次固定的复写它的三个方法也是很无奈,所以笔者就想着封装一个既简单又使用的,满足日常的开发需求,又不冗余。在使用Kotlin封装的过程中,进一步体会下Kotlin语言的魅力。

重要的方法和类

:返回值,代表列表的长度

:通过布局得到对象,返回我们需要的对象

:通过获取当前的数据传给对象内控件

:通过获取的数据对及其子进行操作

对上面方法和类进行复写和继承

首先贴出对封装的整体代码

在中主要用到了两点:

是Android提供的一个工具类,它可以用来代替进行对象的存储,这样我们每次可以有效的进行复用,不用每次都去。

这里的是Kotlin中的库,用来代替。

在方法中我使用了泛型,最终的返回用了操作符,Kotlin中的操作符很强大,比如返回的是一个,我们在使用这个的时候不用在强转,直接可以调用的方法:

其次我们来看看对封装的整体代码:

在中,同样使用了泛型,这个泛型代表的是数据源的类型。

主要实现了以下几个功能:

的单击事件和长按事件,分别用了和两个接口。

:用来向列表添加一项数据,添加的位置默认是最后一项,也可以通过指定具体位置

:用来向列表添加多项数据,这里参数是用来判断是否删除之前的所有数据,比如在分页时,上拉加载,是不需要删除之前的数据;而刷新当前界面时,是需要重新加载数据的。所以加了一个标志位。

:这个方法是用来删除某项数据的

:删除列表所有数据

这里我们把和的绑定都交给了方法。下面看看具体的实现:

通过实现类,复写它的方法,直接在方法里面获取的子,然后将数据和它绑定。

以后我们在用的时候只需要简单的一步就可以完成之前复写那么多的方法了。

在Activity实现封装的方法

效果图如下:

简单实现

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181205G1OD5800?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券