欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Diycode开源项目实例搭建上拉加载和下拉刷新的Fragment

程序员文章站 2023-11-06 22:07:10
以下通过3个知识点给大家讲解了上拉加载和下拉刷新的fragment实现的方法,在对每个知识点介绍了一下用法。 1.效果预览 1.1.这个首页就是一个fragment碎片...

以下通过3个知识点给大家讲解了上拉加载和下拉刷新的fragment实现的方法,在对每个知识点介绍了一下用法。

1.效果预览

1.1.这个首页就是一个fragment碎片,本文讲述的就是这个碎片的搭建方式。

Diycode开源项目实例搭建上拉加载和下拉刷新的Fragment

下拉会有一个旋转的刷新圈,上拉会刷新数据。

1.2.整体结构

首先底层的是basefragment

然后refreshrecyclerfragment继承了basefragment

然后simplerefreshrecyclefragment继承了refreshrecyclerfragment

所以应用类的话只要继承simplerefreshrecyclefragment就可以了。

2.最基础的basefragment

2.1.首先看一下有哪些成员变量

Diycode开源项目实例搭建上拉加载和下拉刷新的Fragment

viewholder用作view管理

config用作配置状态信息

diycode是本项目的一个在线服务器

datacache是一个缓冲器

2.2.oncreate函数,完成初始化

Diycode开源项目实例搭建上拉加载和下拉刷新的Fragment

config是获取单例。

diycode也是获取单例。 

datacache是新建一个类。

2.3.定义获取布局id的抽象函数

Diycode开源项目实例搭建上拉加载和下拉刷新的Fragment

继承者中就要实现这个函数了。

2.4.获得本类中的viewholder

Diycode开源项目实例搭建上拉加载和下拉刷新的Fragment

2.5.实现oncreateview

Diycode开源项目实例搭建上拉加载和下拉刷新的Fragment

新建的viewholder其实已经用了一个getlayoutid()方法,这里调用的是本类的抽象函数。

然后返回的是一个view。

2.6.实现抽象函数initviews

Diycode开源项目实例搭建上拉加载和下拉刷新的Fragment

2.7.复写onactivitycreated

Diycode开源项目实例搭建上拉加载和下拉刷新的Fragment

实现了间接调用抽象函数。

2.8.提示函数toast

Diycode开源项目实例搭建上拉加载和下拉刷新的Fragment

2.9.来一张fragment的生命周期

Diycode开源项目实例搭建上拉加载和下拉刷新的Fragment

所以这里的执行顺序是:

oncreate==>oncreateview==>onactivitycreate

oncreate作用:初始化配置和diycode单例和数据缓存器新建。

oncreateview作用:得到viewholder。

onactivitycreate作用:实现一个抽象函数initviews,用来给基类来实现。

3.具有下拉刷新和上拉加载的fragment

3.1.继承方式

Diycode开源项目实例搭建上拉加载和下拉刷新的Fragment

名称:refreshrecyclerfragment<t,event extends baseevent<list<t>>>

Diycode开源项目实例搭建上拉加载和下拉刷新的Fragment

一个类中有两个参数,像这样

Diycode开源项目实例搭建上拉加载和下拉刷新的Fragment

所以本类构造函数也需要两个参数,一个是t,一个是继承baseevent<list<t>>的类

3.2.请求状态

Diycode开源项目实例搭建上拉加载和下拉刷新的Fragment

3.3.当前状态

Diycode开源项目实例搭建上拉加载和下拉刷新的Fragment

3.4.分页加载

Diycode开源项目实例搭建上拉加载和下拉刷新的Fragment

3.5.视图

Diycode开源项目实例搭建上拉加载和下拉刷新的Fragment

swiperefreshlayout==>旋转的加载圈

recyclerview==>listview类型的,列表

3.6.状态

Diycode开源项目实例搭建上拉加载和下拉刷新的Fragment

3.7.适配器

Diycode开源项目实例搭建上拉加载和下拉刷新的Fragment

headerfooteradapter:带有头部和底部的适配器

footerprovider:底部的内容提供器

Diycode开源项目实例搭建上拉加载和下拉刷新的Fragment

3.8.实现basefragment的getlayoutid方法

Diycode开源项目实例搭建上拉加载和下拉刷新的Fragment

3.9.fragment_refresh_recycler.xml

Diycode开源项目实例搭建上拉加载和下拉刷新的Fragment

实际上是这个东西

Diycode开源项目实例搭建上拉加载和下拉刷新的Fragment

3.10.初始化视图

Diycode开源项目实例搭建上拉加载和下拉刷新的Fragment

在basefragment中执行最后面的一个函数。