[英]How to remove SnapHelper from a RecyclerView
我使用attachToRecyclerView(RecyclerView) ,它按预期工作。
问题:在某些时候我想要相同的recyclerView正常滚动,如何实现?
码:
PagerSnapHelper pagerSnapHelper = new PagerSnapHelper();
pagerSnapHelper.attachToRecyclerView(recyclerView);
从recyclerview-v7:25.1.0
,就足以打电话了
snapHelper.attachToRecyclerView(null);
删除SnapHelper
我遇到了同样的问题。
调用
clearOnScrollListeners(); setOnFlingListener(null);
在
RecyclerView
实例上为我做了诀窍。
仅调用
setOnFlingListener(null);
在我的情况下是不够的
好吧,它是在SnapHelper官方API上编写的:公共方法=> attachToRecyclerView:[要添加此帮助程序的RecyclerView实例, 如果要从当前的RecyclerView中删除SnapHelper,则返回null 。] https://developer.android。 COM /参考/机器人/支撑/ V7 /插件/ SnapHelper.html#attachToRecyclerView%28android.support.v7.widget.RecyclerView%29
如果您不想保留SnapHelper的引用,那么根据您可以使用的官方文档还有另一种方法
recyclerView.setOnFlingListener(null);
来自Android documentaion
- 通过调用将{@link SnapHelper}附加到提供的RecyclerView
- {@link RecyclerView#setOnFlingListener(RecyclerView.OnFlingListener)}。
- 您可以使用{@code null}调用此方法将其与当前的RecyclerView分离。
警告
SnapHelper.attachToRecyclerView()可以抛出IllegalArgumentException
- @throws IllegalArgumentException如果已经有{@link RecyclerView.OnFlingListener}
- 附在提供的{@link RecyclerView}上。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.