欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 能源 > Android 判断RecyclerView是否滚动到底部

Android 判断RecyclerView是否滚动到底部

2025/2/26 3:54:01 来源:https://blog.csdn.net/LoveFHM/article/details/145039764  浏览:    关键词:Android 判断RecyclerView是否滚动到底部

需求:列表滚动后,判断是否滚动到底部,展示加载更多的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 当前正在 惯性滚动。用户手指松开后,列表仍在由于惯性继续滑动时的状态。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词