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

 更新时间:2017年11月24日 08:45:38   投稿:laozhang  
这篇文章主要介绍了Diycode开源项目实例搭建上拉加载和下拉刷新的Fragment以及相关的代码分享。

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

1.效果预览

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

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

1.2.整体结构

首先底层的是BaseFragment

然后RefreshRecyclerFragment继承了BaseFragment

然后SimpleRefreshRecycleFragment继承了RefreshRecyclerFragment

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

2.最基础的BaseFragment

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

ViewHolder用作View管理

Config用作配置状态信息

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

DataCache是一个缓冲器

2.2.onCreate函数,完成初始化

Config是获取单例。

Diycode也是获取单例。 

DataCache是新建一个类。

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

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

2.4.获得本类中的ViewHolder

2.5.实现onCreateView

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

然后返回的是一个View。

2.6.实现抽象函数initViews

2.7.复写onActivityCreated

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

2.8.提示函数toast

2.9.来一张Fragment的生命周期

所以这里的执行顺序是:

onCreate==>onCreateView==>onActivityCreate

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

onCreateView作用:得到ViewHolder。

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

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

3.1.继承方式

名称:RefreshRecyclerFragment<T,Event extends BaseEvent<List<T>>>

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

所以本类构造函数也需要两个参数,一个是T,一个是继承BaseEvent<List<T>>的类

3.2.请求状态

3.3.当前状态

3.4.分页加载

3.5.视图

SwipeRefreshLayout==>旋转的加载圈

RecyclerView==>ListView类型的,列表

3.6.状态

3.7.适配器

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

FooterProvider:底部的内容提供器

3.8.实现BaseFragment的getLayoutId方法

3.9.fragment_refresh_recycler.xml

实际上是这个东西

3.10.初始化视图

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

相关文章

  • ListView的View回收引起的checkbox状态改变监听等问题解决方案

    ListView的View回收引起的checkbox状态改变监听等问题解决方案

    之前讲到了自定义Adapter传递给ListView时,因为ListView的View回收,需要注意当ListView列表项中包含有带有状态标识控件的问题,感兴趣的朋友可以祥看本文,或许会有意外的收获哦
    2013-01-01
  • Android   Data Binding 在 library module 中遇到错误及解决办法

    Android Data Binding 在 library module 中遇到错误及解决办法

    这篇文章主要介绍了Android Data Binding 在 library module 中遇到错误及解决办法的相关资料,需要的朋友可以参考下
    2017-03-03
  • Android游戏开发实践之人物移动地图的平滑滚动处理

    Android游戏开发实践之人物移动地图的平滑滚动处理

    玩过rpg游戏的朋友应该都知道RPG的游戏地图一般都比较大 今天我和大家分享一下在RPG游戏中如何来处理超出手机屏幕大小的游戏地图。
    2014-06-06
  • Android自定义View仿支付宝输入六位密码功能

    Android自定义View仿支付宝输入六位密码功能

    跟选择银行卡界面类似,也是用一个PopupWindow,不过输入密码界面是一个自定义view,当输入六位密码完成后用回调在Activity中获取到输入的密码并以Toast显示密码。这篇文章主要介绍了Android自定义View仿支付宝输入六位密码功能的相关资料,需要的朋友可以参考下
    2016-10-10
  • Android微信图片浏览框架设计

    Android微信图片浏览框架设计

    这篇文章主要为大家详细介绍了Android微信图片浏览框架设计,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • Android开发中Intent用法总结

    Android开发中Intent用法总结

    这篇文章主要介绍了Android开发中Intent用法,总结分析了Android中Intent的功能、使用方法与相关注意事项,需要的朋友可以参考下
    2016-10-10
  • Android三种常见的图片压缩方式

    Android三种常见的图片压缩方式

    在开发中,我们经常有这样一种需求,从相册选择图片,上传到服务器。随着手机像素的不断提升,照片也是小一点的3,4兆,大一点的多大10多兆。如果直接上传原图,会增大服务器压力,所以,在上传之前对图片压缩就显得很必要了。
    2021-05-05
  • Android中button按钮怎么设置圆角

    Android中button按钮怎么设置圆角

    在android开发中,Button是使用很频繁的一种控件,而android提供的原生Button是很规矩的矩形外观,有时候缺乏美感,而相反,圆角按钮则可以提升美感,这篇文章主要给大家介绍了关于Android中button按钮怎么设置圆角的相关资料,需要的朋友可以参考下
    2023-07-07
  • TextView实现跑马灯效果 就这么简单!

    TextView实现跑马灯效果 就这么简单!

    TextView实现跑马灯效果,就这么简单轻松实现,这篇文章介绍了TextView制作跑马灯效果的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • Android实现九宫格(GridView中各项平分空间)的方法

    Android实现九宫格(GridView中各项平分空间)的方法

    这篇文章主要介绍了Android实现九宫格(GridView中各项平分空间)的方法,涉及Android针对GridView操作的相关技巧,需要的朋友可以参考下
    2015-06-06

最新评论