繁体   English   中英

如何从RecyclerView中删除SnapHelper

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM