Android RecyclerView添加上拉加载更多功能
作者:许佳佳233 发布时间:2022-08-02 00:03:51
标签:Android,RecyclerView,上拉加载
上一篇文章已经介绍了如何为RecyclerView添加FootView,在此基础上,要添加分页加载的功能其实已经很简单了。
上一篇文章地址:为RecyclerView添加FootView和HeadView
效果:(源码在文章结尾)
实现关键
在上一篇代码的基础上,只需要在onBindViewHolder(ViewHolder holder, int position)函数中添加一定修改就可以了,如下:
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
//建立起ViewHolder中试图与数据的关联
Log.d("xjj", getItemViewType(position) + "");
//如果footview存在,并且当前位置ViewType是FOOT_TYPE
if (isFootView && (getItemViewType(position) == FOOT_TYPE)) {
holder.tvFootView.setText(footViewText);
// 刷新太快 所以使用Hanlder延迟两秒
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
max_count += 5;
notifyDataSetChanged();
}
}, 2000);
} else {
holder.tvViewHolder.setText(mData.get(position) + position);
}
}
在函数中,首先让该item显示“加载中。。。”,然后使用Handler,延迟两秒刷新,逻辑内容主要有两个,一个是显示的最大容量增加5,二是刷新Adapter的内容。
拓展延伸
笔者此处为了让读者容易理解,很多地方的使用比较粗糙,读者真正使用的时候定然不会如此简单,在此列出几点,以供读者自己学习:
1、FootView中一般不会仅仅是一个TextView,对UI有一定追求的读者至少需要添加一个ProgressBar。
2、Adapter的内容一般不会直接用List传入,需要从网络获取之类,因此刷新Adapter的内容一般就需要用到线程,而不是此处简单的一个Handler就可以了。
源码地址:http://xiazai.jb51.net/201610/yuanma/PullRecyclerView(jb51.net).rar


猜你喜欢
- 相信对于手机的时间日期设置大家一定都不陌生吧,今天举一个关于时间日期设置的示例,其中有些许不完善之处,例如如何使设置的时间日期和手机系统同步
- 背景事情是酱紫的,阿星的上级leader负责记录信息的业务,每日预估数据量是15万左右,所以引入sharding-jdbc做分表。上级lea
- 讲这个例子前,咱们先来看一个简单的程序:字符串数组实现数字转字母:#include <stdio.h>#include <
- 本文实例讲述了java使用Hashtable过滤数组中重复值的方法。分享给大家供大家参考,具体如下:package org.eline.co
- SpringMVC 中的Interceptor 拦截请求是通过HandlerInterceptor 来实现的。在SpringMVC 中定义一
- 本文实例讲述了C#设计模式之ChainOfResponsibility职责链模式解决真假美猴王问题。分享给大家供大家参考,具体如下:一、理论
- 在Scala中调用java的方法,很简单,直接导入传递参数就可以进行调用了.在Java中调用Scala的方法呢?经过测试,也是很简单,静态方
- 前言关于ThreadLocal (线程本地存储),从字面意思上看主要是存储一些本地变量,使它们能在一个线程内共用,与其他的线程进行数据隔离,
- 前言在日常开发中,除了修改请求参数、设置响应header,响应body外,还有一种需求就是url重新,或者是修改url,这里简述一下怎么在z
- 概述HashTable是jdk 1.0中引入的产物,基本上现在很少使用了,但是会在面试中经常被问到,你都知道吗:HashTable底层的实现
- 简介石头剪刀布游戏,进入游戏后,玩家需要输入玩家姓名。系统界面之后弹出欢迎界面,玩家可以选择出拳或者退出游戏。玩家选择出拳后同电脑出拳比较,
- 本文实例为大家分享了C语言实现两个矩阵相乘的具体代码,供大家参考,具体内容如下程序功能:实现两个矩阵相乘的C语言程序,并将其输出代码如下:#
- MyCat一个彻底开源的,面向企业应用开发的大数据库集群。基于阿里开源的Cobar产品而研发。能满足数据库数据大量存储;提高了查询性能。文章
- 如题,在GitHub上找了一圈想找一个MongoDB的的ORM框架,未偿所愿,就去翻了翻官网(https://docs.mongodb.co
- Spring 配置文件报错:元素 "context:component-scan" 的前缀 "context&
- 请求转发的三种方式SpringMVC请求转发区别于重定向,请求转发地址栏不会发生改变、只发送一次请求、能携带原有的参数,但只可以在同一个服务
- 今天看见一个Android 扑克卡片翻转效果的帖子,于是手痒想学一学,由于接触过的Animation动画等比较少,所以感觉很新奇。首先,说一
- 在Android Studio 2.1 Preview 3之后,官方开始支持双向绑定了。可惜目前Google并没有在Data Binding
- 使用ModelAndView向request域对象共享数据index.html<a th:href="@{/testMode
- 一、引言想实现一个空白的画板,上面可以画出手滑动的轨迹,就这么一个小需求。一般就来讲就两种实现方式,view或者surfaceview。下面