2017-08-09 16 views
1

アイテムを領域データベースに追加し、Recyclerviewにアダプターを挿入して、notifyDataSetChanged()でビューを更新しています。うまく動作します。Realm dbアイテムが追加されたときにRecyclerViewsの最新のアイテムを自動スクロールする方法

リストが表示された後に問題が発生すると、新しい項目はの下に表示され、のスクロールスペースになります。ビューを下にスクロールしなくても、最後に最新のアイテムを持つように更新する必要があります。そうしないと、新しいアイテムがまったく追加されていないことがあります。

たとえば、5つのアイテムを追加する場合は、5つのアイテムを画面の下の5つの行にしたい場合は、スクロールは必要ありません。

どのように正しくスクロールを強制的にハックせずにこれを正しく行うにはどのようなアイデアですか?

答えて

0

何らかの理由で、これまでの回答はどちらもRecyclerViewなのではないでしょうか?これは最終的に、私のために最新のアイテム、偶然にはレルムのデータベースにスクロールするために最終的に働いた唯一のものですが、リスト/配列である可能性があります。 onCreateView上

インスタンス化:

mLayoutManager = new LinearLayoutManager(getActivity()); 
mRecyclerView.setLayoutManager(mLayoutManager); 

のonChangeで呼び出さRecyclerViewに正しくスクロールを行うコマンド、私は知らない

mLayoutManager.smoothScrollToPosition(mRecyclerView, null, results.size()); 

なぜ上記の回答scrollToPositionWithOffsetとscrollToPosition単にドンRecyclerViewに取り組んで、説明できる人は誰でも感謝しています。

0

あなたnotifyDataSetChanged()コールmyList.scrollToPosition(myArray.size - 1);

hereした後は、メソッドのドキュメント

0

を見つけ、例えば
(についてGridLayoutManager を使用している場合にも、LinearLayoutManagerにrecyclerviewのLayoutManagerのをキャストする必要があるかもしれませんscrollToPositionWithOffset(int position, int offset)または単にscrollToPosition(int position) を使用してみてください(LinearLayoutManager)getLayoutManager())

recyclerView.scrollToPositionWithオフセット(listSize - 1,0);

関連する問題