我正在学习 android 分页库,一切正常。但是,每当我使 DataSource 无效时,只要将新项目添加到列表顶部,列表就会跳转到起始位置。我想将项目添加到列表顶部。但列表应保持在其当前滚动位置。我想我应该使用无效时不为空的 LoadInitialParams.requestedInitialKey 。但我不确定如何使用此键加载数据以避免列表跳转到起始位置。
我正在使用 firestore 数据库作为数据源。我发现提供给回调的 requestedInitialKey 实际上是当前滚动位置的 recyclerview 中的最后一个可见项。我已经尝试了以下方法来获取 requestInitialKey 周围的数据
.get().startAt(requestedIntitalKey).limit(25)
.get().endBefore(requestedIntitalKey).limit(25)
.get().startAfter(requestedIntitalKey).limit(25)
.get().endAt(requestedIntitalKey).limit(25)
其中 25 是我的页面大小。以上都没有解决问题。有人可以为我提供一个示例,以便列表将保持在其当前滚动位置仅更新内容而不跳转开始?