我正在成功將項目添加到領域數據庫並通過適配器填充Recyclerview並使用notifyDataSetChanged()
更新視圖。工作正常。如何在添加領域數據庫項目時自動向下滾動RecyclerViews最新項目
問題是在列表填充視圖後,新項目出現下方的滾動空間。我希望視圖更新以使最新的項目已經在底部,而用戶不必向下滾動,否則他們會錯過添加了新項目。
例如,如果我點擊添加5個項目,我希望5個項目已經在屏幕上的底部5行,不需要滾動。
任何想法如何正確地做到這一點,最好沒有黑客強制滾動?
我正在成功將項目添加到領域數據庫並通過適配器填充Recyclerview並使用notifyDataSetChanged()
更新視圖。工作正常。如何在添加領域數據庫項目時自動向下滾動RecyclerViews最新項目
問題是在列表填充視圖後,新項目出現下方的滾動空間。我希望視圖更新以使最新的項目已經在底部,而用戶不必向下滾動,否則他們會錯過添加了新項目。
例如,如果我點擊添加5個項目,我希望5個項目已經在屏幕上的底部5行,不需要滾動。
任何想法如何正確地做到這一點,最好沒有黑客強制滾動?
由於某種原因,迄今爲止的答案都沒有奏效,也許是因爲它是一個RecyclerView?這是唯一最終用於滾動到我最新的項目,順便說一句Realm分貝,但可能是一個列表/數組。
實例化onCreateView:
mLayoutManager = new LinearLayoutManager(getActivity());
mRecyclerView.setLayoutManager(mLayoutManager);
是不正確的RecyclerView滾動的命令,叫上的onChange
mLayoutManager.smoothScrollToPosition(mRecyclerView, null, results.size());
我不知道爲什麼上面的答案scrollToPositionWithOffset和scrollToPosition只是不要沒有RecyclerView的工作,任何人都可以解釋讚賞。
您notifyDataSetChanged()
電話後myList.scrollToPosition(myArray.size - 1);
here你找到方法的文檔
嘗試使用scrollToPositionWithOffset(int position, int offset)
或者乾脆scrollToPosition(int position)
您可能還需要投recyclerview的佈局管理到LinearLayoutManager,如果使用GridLayoutManager 對於EG
( (LinearLayoutManager)getLayoutManager())
recyclerView.scrollToPositionWith偏移量(listSize - 1,0);