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