android - 如何在片段中的 RecyclerView 中获取最后一个可见项目
问题描述
我正在构建一个片段页面,其中有一个 RecyclerView。RecyclerView 从 Internet 源获取日期(通过使用 Retrofit)。我试图在用户滚动到回收器末尾时调用新数据(换句话说,一些创建片段时调用数据,如果用户向下滑动,将调用新数据)。这是我用于此目的的代码
rvCategorie.viewTreeObserver.addOnScrollChangedListener {
when {
layoutManager.findLastCompletelyVisibleItemPosition() == adapterCategorie.listSize() - 1 && (nextpageLink.toString().isNullOrEmpty() or !nextpageLink.toString().equals("null")) -> {
Caller.getcall(++categoriesCurrentPage)
}
}
}
问题是当使用此代码时,“layoutManager.findLastCompletelyVisibleItemPosition()”方法总是返回最后一个项目并调用新数据。即使该项目不可见并且尽管我没有滑过页面它仍然调用新数据
请注意:getcall() 方法是调用数据并返回数据的方法(没有问题)。调用完成时 nextpageLink 会自行更新(它可以只是一个链接(字符串)或 null) .
我的问题有什么解决办法吗。谢谢。
解决方案
推荐阅读
- yii2 - Yii2 - 按 IP 限制页面
- hadoop - Hive:如何获取集群的名称
- python - 发布并保存 Django 变量,不起作用
- module - 如何在 gem5 中运行 MathExprPowerModel?
- powershell - 如何使用powershell删除所有oracle java
- user-interface - JavaFx:创建文本输入框
- c++ - 在堆上实现二维数组的最佳方法
- python - 如何在 Python 中用变量值而不是 0 填充矩阵
- flutter - 向setstate发送参数?
- java - Gradle 5 和 Java 11 构建错误:为什么 Gradle 认为我正在使用 Java 10?