我使用attachToRecyclerView(RecyclerView),它的工作原理如下。如何從RecyclerView中刪除SnapHelper
問題:在某些時候,我想要相同的recyclerView正常滾動,如何實現?
代碼:
PagerSnapHelper pagerSnapHelper = new PagerSnapHelper();
pagerSnapHelper.attachToRecyclerView(recyclerView);
我使用attachToRecyclerView(RecyclerView),它的工作原理如下。如何從RecyclerView中刪除SnapHelper
問題:在某些時候,我想要相同的recyclerView正常滾動,如何實現?
代碼:
PagerSnapHelper pagerSnapHelper = new PagerSnapHelper();
pagerSnapHelper.attachToRecyclerView(recyclerView);
從recyclerview-v7:25.1.0
凝望,就足以叫
snapHelper.attachToRecyclerView(null);
刪除SnapHelper
我面臨同樣的問題。在
RecyclerView
實例調用
clearOnScrollListeners();
setOnFlingListener(null);
奏效了我。僅調用
setOnFlingListener(null);
是不夠的,在我的情況
嗯,這是寫在SnapHelper官方的API:公共方法=> attachToRecyclerView:該RecyclerView實例要添加這個幫助或空,如果你想哪從目前的RecyclerView刪除SnapHelper。] https://developer.android.com/reference/android/support/v7/widget/SnapHelper.html#attachToRecyclerView%28android.support.v7.widget.RecyclerView%29
這應該是被接受的答案。請注意,如果您的應用程序允許在RecyclerView上切換多個LayoutManagers,例如網格佈局和SnapPage佈局,請不要忘記從RecyclerView中分離/移除SnapHelper(切換到網格視圖後)。否則,當在網格視圖列表上滾動或拋出時,您會看到意外的行爲。 –
你讀過'SnapHelper#attachToRecyclerView'文檔嗎?官方文件中有什麼不清楚的地方? *「通過調用setOnFlingListener(RecyclerView.OnFlingListener)將SnapHelper連接到提供的RecyclerView,您可以使用null調用此方法,將它從當前的RecyclerView中分離出來。」* – pskink
顯然僅僅添加'clearOnScrollListeners(); '做了 – Belzebub
剛纔'com.android.support:recyclerview -v7:25.1.0'測試 - 你可以使用'attachToRecyclerView'連接/分離同樣的'SnapHelper'多次,只要你想 – pskink