2016-04-14 7 views
-1

私は私のカスタムレイアウトでリサイクラビューを持っています。私はLinearLayoutManagerとカスタムアダプタを付けました。LayoutManagerはfirstCompletelyVisibleItemにスクロールしません

this.recyclerList = (RecyclerView) findViewById(R.id.custom_number_picker_list); 
    this.layoutManager = new LinearLayoutManager(getContext()); 
    this.recyclerList.setLayoutManager(layoutManager); 
    this.numberAdapter = new NumberAdapter(); 
    this.recyclerList.setAdapter(numberAdapter); 

私はlayoutManagerをfirstCompletelyVisibleItemの位置にスクロールします。 この位置にスクロールするコマンドは、が無視されました

しかし、私は

layoutManager.findFirstVisibleItemPosition(); 

経由最初(完了していない)は、可視位置を照会し、その後

layoutManager.scrollToPosition(firstVisible); 

を経由して、この位置を設定する場合、それは正常に動作します。しかし、firstCompletelyVisibleItemをスクロールしたい場合は、 と言っていますが、それは無視されます。

なぜですか?私が紛失しているものがありますか?

+0

コメントなしの投票は何も価値がありません。 – JacksOnF1re

答えて

0

これはなぜ起こるのか分かりました。私はドキュメントを読むためにダンプするだけでした! 私は通常、この質問を削除しますが、私が見た限り、 はまったくこのような質問はありませんでしたので、将来の読者に答えを提供します。

それはドキュメントにあります:

RecyclerViewが 目標位置が表示されるように必要がある最小量をスクロールします。

これは、アイテムが既に(あなたがfirstCompletelyVisibleItemを問い合わせる場合、それは、ある)完全に表示されている場合、その後、リサイクルの観点だけで要求をスクロールして、無視しないことを意味します。

これを達成するための鍵は、offestメソッドでscrollToPositionを使用することだと思います。

関連する問題