如何重新启动RecyclerView滚动

时间:2016-03-29 11:15:05

标签: android

我有一个附加到CursorAdapter的RecyclerView和我自己的自定义RecyclerView.OnScrollListener。当用户滚动到顶部并向下拉时,所有项目都将被删除,并替换为从网络中获取的较新项目。

问题是当检索到的新项目数量足够小以适应屏幕时(当它没有溢出时),我自定义的onScrollListener,我用来在向下滚动时加载下一页项目,从不活性。更具体地说,它的onScroll方法永远不会被调用,因为列表中没有足够的视频需要向下滚动。

为了解决这个问题,我试过了,

  1. 在RecyclerView上调用smoothScrollBy(0,0)以使我的onScroll方法名为
  2. 在RecyclerView上调用requestLayout()
  3. 我在使用新数据交换光标后,在我的Loader的onLoadFinished中进行了两次调用。

    有什么想法吗?

1 个答案:

答案 0 :(得分:0)

尝试删除scrollListener并在recyclerView上添加一个带有自定义触摸侦听器的视图,并检查是否需要从中提取更多数据。

scala> val f: Int => Boolean = Set(1,2,3)
f: Int => Boolean = Set(1, 2, 3)

scala> f(1)
res0: Boolean = true

scala> f(4)
res1: Boolean = false