Android RecyclerView添加上拉加载更多功能

作者:许佳佳233 时间:2022-08-02 00:03:51 

上一篇文章已经介绍了如何为RecyclerView添加FootView,在此基础上,要添加分页加载的功能其实已经很简单了。
上一篇文章地址:为RecyclerView添加FootView和HeadView

效果:(源码在文章结尾)

Android RecyclerView添加上拉加载更多功能

实现关键

在上一篇代码的基础上,只需要在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

标签:Android,RecyclerView,上拉加载
0
投稿

猜你喜欢

  • Android判断11位手机号码的方法(正则表达式)

    2022-03-06 03:17:43
  • java实现Socket通信之单线程服务

    2022-08-24 14:41:06
  • C#微信公众号开发之使用MessageHandler简化消息处理流程

    2022-04-12 12:12:34
  • Android简易音乐播放器实现代码

    2021-12-22 23:26:53
  • DevExpress获取TreeList可视区域节点集合的实现方法

    2023-09-18 15:42:05
  • Java重写与重载之间的区别

    2021-06-30 03:16:13
  • flutter日期选择器 flutter时间选择器

    2023-09-22 04:50:15
  • 深入理解java final不可变性

    2023-02-11 20:17:27
  • C#写入对象或集合类型数据到xml文件的方法

    2022-11-12 17:11:37
  • 完美解决Spring Boot前端的Access-Control-Allow-Origin跨域问题

    2023-09-19 10:16:28
  • Maven配置多仓库无效的解决

    2023-11-29 04:37:10
  • SpringBoot Profile多环境配置方式

    2023-12-14 01:44:24
  • Android中Intent机制详解及示例总结(总结篇)

    2023-05-27 21:51:39
  • 实例讲解JAVA设计模式之备忘录模式

    2023-08-29 16:31:19
  • 深入解析JVM之内存结构及字符串常量池(推荐)

    2023-01-02 19:48:20
  • 浅谈Java list.remove( )方法需要注意的两个坑

    2023-02-01 06:08:44
  • Android中SQLite数据库知识点总结

    2021-10-03 10:57:13
  • MyBatis 动态SQL和缓存机制实例详解

    2022-01-14 16:47:33
  • java编程实现根据EXCEL列名求其索引的方法

    2022-04-24 03:08:03
  • Android使用setContentView实现页面的转换效果

    2021-07-30 15:13:32
  • asp之家 软件编程 m.aspxhome.com