我使用attachToRecyclerView(RecyclerView)并按预期工作。
问题:在某些时候我想让相同的recyclerView正常滚动,如何实现?
代码:
buildscript {
repositories {
jcenter()
mavenCentral() // add repository
maven { url 'https://maven.google.com' }
}
}
答案 0 :(得分:8)
从recyclerview-v7:25.1.0
开始,足以致电
snapHelper.attachToRecyclerView(null);
删除SnapHelper
我遇到了同样的问题。致电
clearOnScrollListeners();
setOnFlingListener(null);
RecyclerView
实例上的 为我做了诀窍。在我的情况下仅调用 setOnFlingListener(null);
是不够的
答案 1 :(得分:5)
好吧,它是在SnapHelper官方API上编写的:公共方法=> attachToRecyclerView:[要添加此帮助程序的RecyclerView实例如果要从当前的RecyclerView中删除SnapHelper,则返回null 。] https://developer.android.com/reference/android/support/v7/widget/SnapHelper.html#attachToRecyclerView%28android.support.v7.widget.RecyclerView%29
答案 2 :(得分:0)
如果您不想保留 SnapHelper 的引用,那么根据官方文档,您可以使用另一种方法
recyclerView.setOnFlingListener(null);
来自Android文档
- 通过调用将{@link SnapHelper}附加到提供的RecyclerView上
- {@ link RecyclerView#setOnFlingListener(RecyclerView.OnFlingListener)}。
- 您可以使用{@code null}调用此方法,以将其与当前的RecyclerView分离。
警告
SnapHelper.attachToRecyclerView()可能引发 IllegalArgumentException
- 如果已存在{@link RecyclerView.OnFlingListener}
,则抛出IllegalArgumentException。- 附加到提供的{@link RecyclerView}。