chunkbase(base公司)

一、内容概要

在一个完整的项目中,可能有非常多的列表页,有的经常是十几十个,但是列表的大部分内容都一样。 例如,布局相同,模板适配器相同,刷新控件相同等。 此时,逐个写入模板代码看起来工作量有点重复。 定义子类使用的公共列表刷新模板,以使代码看起来更简单,更易于维护。 这样,子类只需要集成这个通用的基类,就可以非常迅速地实现刷新列表,从而大幅减少实际的编码量。 让我们来看看具体该怎么办。

基本类代码

二、实战部分

/**

* *具有更新功能的基类。 子类继承后,将自动形成更新功能

* create by在意的铅笔

* on 2020/7/23 16:40

*/

abstractclassbaselistrefreshactivityp : base presenter *,* : BaseMvpActivityP (

//*

适配器的定义

*/

私有虚拟机适配器3360接收器视图.适配器*?=空值

//*

* *设置刷新基类的布局

*/

override fun getLayoutId () :英寸

returnr.layout.base _刷新_布局

}

//*

* *初始化页面数据

*/

复盖功能单元视图(

getRecycleView ().layoutManager=getLayoutManager ) ) ) )。

getRefreshLayout ().setonrefreshloadmorelistener (创建者) )

适配器=创建适配器(

getRecycleView () .适配器=适配器

}

//*

* *刷新停止

*/

fun停止刷新()

ptrl_list.finishLoadMore (

ptrl _ list.finish刷新(

}

//*

* *获取刷新布局

*/

fun getRefreshLayout () : SmartRefreshLayout {

返回路径列表

}

//*

获得回收视图

*/

fun getRecycleView () :接收器视图{

返回回收视图

}

//*

获取适配器

*/

fungetadapter (:接收器视图.适配器*? {

返回适配器

}

//*

* *创建刷新侦听器

*/

abstractfuncreaterefreshlistener () : OnRefreshLoadMoreListener

//*

* *获取布局管理器

*/

abstract fun getLayoutManager () :接收器视图.布局管理器

//*

* * *推迟在子类中创建适配器

*/

abstract fun创建适配器() :接收器视图.适配器*

}

三、注意点

的实现非常简单。 首先定义抽象的BaseListRefreshActivity,然后创建抽象的adapter、抽象的侦听器和抽象的LayoutManager,并在initViews ()中初始化这些方法。 在子类中,只需实现这些抽象方法,就可以快速实现具有上载和下载刷新的RecycleView。

虽然是很简单的实现方法,但是很实用。 大家可以把它放在自己的base_sdk里,做输出项目,做公司自己的项目。

四、结束

简单的实施到此结束。 快动手看看吧。 让我们看看是否比开始写模板代码块多

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注