2017-08-09 45 views
1

我正在成功將項目添加到領域數據庫並通過適配器填充Recyclerview並使用notifyDataSetChanged()更新視圖。工作正常。如何在添加領域數據庫項目時自動向下滾動RecyclerViews最新項目

問題是在列表填充視圖後,新項目出現下方的滾動空間。我希望視圖更新以使最新的項目已經在底部,而用戶不必向下滾動,否則他們會錯過添加了新項目。

例如,如果我點擊添加5個項目,我希望5個項目已經在屏幕上的底部5行,不需要滾動。

任何想法如何正確地做到這一點,最好沒有黑客強制滾動?

回答

0

由於某種原因,迄今爲止的答案都沒有奏效,也許是因爲它是一個RecyclerView?這是唯一最終用於滾動到我最新的項目,順便說一句Realm分貝,但可能是一個列表/數組。

實例化onCreateView:

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

是不正確的RecyclerView滾動的命令,叫上的onChange

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

我不知道爲什麼上面的答案scrollToPositionWithOffset和scrollToPosition只是不要沒有RecyclerView的工作,任何人都可以解釋讚賞。

0

notifyDataSetChanged()電話後myList.scrollToPosition(myArray.size - 1);

here你找到方法的文檔

0

嘗試使用scrollToPositionWithOffset(int position, int offset)或者乾脆scrollToPosition(int position) 您可能還需要投recyclerview的佈局管理到LinearLayoutManager,如果使用GridLayoutManager 對於EG
( (LinearLayoutManager)getLayoutManager())

recyclerView.scrollToPositionWith偏移量(listSize - 1,0);

相關問題