2016-12-22 4 views
2

後にスナップされていません。RecyclerViewは、アイテムは私が私の活動のRecyclerViewとそれに接続LinearSnapHelperを持ってscrollToPosition

TimePickerAdapter timePickerAdapter = new TimePickerAdapter(hours); 
recyclerView = (RecyclerView) root.findViewById(R.id.recycler_view); 

final SnapHelper snapHelper = new LinearSnapHelper(); 
snapHelper.attachToRecyclerView(recyclerView); 

問題は、私が最初に特定の項目にスクロールしたいとき、スナップヘルパーは、項目(画像を参照)を添付するトリガされていない:私は私の手でスクロールすると

recyclerView.getLayoutManager().scrollToPosition(timePickerAdapter.getCurrentPosition()); 

は、それが期待どおりに動作を開始します。 これに対する解決策はありますか?

enter image description here

+0

と 'com.android.support:recyclerview-v7:25.0.0'はうまく動作します – pskink

+0

私は25.0.1を持っています。他に何かありますか? – dragoon

+0

うーん、実際には考えていない... – pskink

答えて

0

私はちょうど同じ問題に遭遇した - 私のためrecyclerView.smoothScrollToPosition(pos)代わりのrecyclerView.scrollToPosition(pos)を使用して

+0

返信ありがとうございます。スクロールしているアイテムが既に表示されている場合は、返信いただきありがとうございます。私にとっては、 '' smoothScrollToPosition''はその場合何もしません。 – dragoon

1

SnapHelperは、スナップアクションをトリガーするRecyclerView.OnFlingListener#onFling()またはRecyclerView.OnScrollListener#onScrollStateChanged(recyclerView, RecyclerView.SCROLL_STATE_IDLE)に依存しているトリックをしました。

ただし、scrollToPosition()はコールバックを上回っていません。 scrollToPosition()の後にsmoothScrollBy(1, 0)を呼び出し、SnapHelperをスクロールしてスクロールできます。

関連する問題