如何在加载新数据时停止带有recyclerview和数据库游标适配器的无限滚动

时间:2016-04-23 00:45:44

标签: android android-recyclerview android-cursoradapter

所以我们的Android应用程序将recyclerview与游标适配器一起使用,然后我们使用https://github.com/codepath/android_guides/wiki/Endless-Scrolling-with-AdapterViews进行无限滚动和加载器重置事件(将在下一个创建加载器上增加我们加载的数据量的限制)然后将更新视图。

但问题是,每次发生这种情况时,Recyclerview都在底部。因此,为了解决这个问题,我们使用findFirstVisibleItemPosition记录最后一个可见项目,然后在视图准备就绪时使用scrollToPosition。

但我们发现,如果用户滚过该点,他们将在加载完成时获得此跳转/抖动,因为它将它们加载到该确切项目,实际上它们有时是部分通过它。我们尝试将scrollTo与精确的X和Y(我们事先记录)一起使用,但这不适用于recyclerviews,因为我猜他们不会知道项目的确切尺寸。

我知道我们可以例如只在滚动结束时触发它(IE的缓冲区大小为0或1)所以我们知道我们在列表的确切末尾然后可以从那里开始,但是我们希望这一点尽可能顺利。

如果有任何建议,我很想知道。

0 个答案:

没有答案