Android 判断RecyclerView是否滚动到底部

news/2025/1/15 7:59:33/

需求:列表滚动后,判断是否滚动到底部,展示加载更多的Loading文案和动画

 binding.watchMoreRv.addOnScrollListener(object : RecyclerView.OnScrollListener() {override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) {super.onScrolled(recyclerView, dx, dy)//获取layoutManagerval layoutManager = recyclerView.layoutManager as LinearLayoutManager//获取item个数val totalItemCount = layoutManager.itemCount//最后一个可见item的位置val lastVisibleItemPosition = layoutManager.findLastVisibleItemPosition()//当前并不在请求,不是最后一个页面if (!isLoading && !isLastPage && lastVisibleItemPosition == totalItemCount - 1&& recyclerView.scrollState == RecyclerView.SCROLL_STATE_IDLE) {runOnUiThread {curMorePage++isLoading = truehomeMoreAdapter?.setLoading(true)}Handler(Looper.getMainLooper()).postDelayed({loadMoreData()}, 2000)}}})

tips:recyclerView.scrollState == RecyclerView.SCROLL_STATE_IDLE 这个判断条件很重要哦。

  • SCROLL_STATE_IDLE:值为0,RecyclerView 当前处于 空闲状态,没有滚动操作正在进行。这是默认状态,当滚动停止时会切换到该状态。
  • RecyclerView.SCROLL_STATE_DRAGGING:值为1,RecyclerView 当前正在被用户拖动。用户用手指滑动屏幕时进入该状态。
  • RecyclerView.SCROLL_STATE_SETTLING:值为2,RecyclerView 当前正在 惯性滚动。用户手指松开后,列表仍在由于惯性继续滑动时的状态。

http://www.ppmy.cn/news/1562947.html

相关文章

vue 打包部署后 无法找到 app.js 文件

资料 Vue报错:This dependency was not found_vue this dependency was not found:-CSDN博客 过程 大概原因和上面的一样, 在打包好的 文件目录里面出现了这样的 格式: 实际上不需要 最前面的斜杠 解决 加上,重新打包,部署就好了 publicPath: "…

mysql本地安装和pycharm链接数据库操作

MySQL本地安装和相关操作 Python相关:基础、函数、数据类型、面向、模块。 前端开发:HTML、CSS、JavaScript、jQuery。【静态页面】 Java前端; Python前端; Go前端 -> 【动态页面】直观: 静态,写死了…

【LevelDB 和 Sqlite】

关于 LevelDB的小总结: LevelDB 和 SQLite 是两种不同类型的数据库: 1. LevelDB: 特点:NoSQL 数据库键值(Key-Value)存储由 Google 开发数据按键排序存储支持批量操作简单的 Get/Put/Delete 接口 示例操作: key1 -> value1 key2 -> value2 2. SQLite: 特点…

ASP.NET Core - 日志记录系统(一)

ASP.NET Core - 日志记录系统(一) 一、日志记录二、ASP.Net Core 的日志记录2.1. 日志记录系统的接入2.2 记录日志2.3 基本配置2.3.1 日志级别2.3.2 全局输出配置2.3.3 针对特定日志提供程序的配置2.3.6 显式设置2.3.4 配置筛选原理2.3.5 日志作用域 一、…

QT中引入OpenCV库总结(qmake方式和cmake方式)

文章目录 前言opencv环境配置一、opencv库获取的两种方式二、qmake和cmake配置2.1、 qmake2.2、cmake2.2.1、引入opencv示例 三、qt与opencv对应关系四、问题 前言 我的软件环境,写在前面 Windows10QT5.12.12VS2017OpenCV4.5.4 opencv环境配置 一、opencv库获取…

ip属地出省会变吗?怎么出省让ip属地不变

在数字化时代,IP属地作为网络身份的一个重要标识,不仅影响着我们的网络体验,还与网络安全、隐私保护等方面息息相关。当我们跨省移动时,是否会遇到IP属地变化的问题?如果希望保持IP属地不变,又该如何操作呢…

npm i 报错

nodejs中 使用npm install命令时报错 npm err! file C: \user\admin\package.json_package.json 里缺少 description 和 repository 两个n字段。-CSDN博客

神卓异地监控组网

异地监控的重要性 异地监控已成为企业安全管理的重要组成部分。作为一名企业用户,我深刻认识到异地组网监控的重要性,特别是在面对一些常见的痛点时,异地监控的优势愈发凸显。以下是我在实际使用中感受到的异地监控的几个关键点。 1. 远程…