public void saveScrollPosition() { if (crumb == null) return; crumb.setScrollPosition( ((GridLayoutManager) mRecyclerView.getLayoutManager()).findFirstVisibleItemPosition()); final View firstChild = mRecyclerView.getChildAt(0); if (firstChild != null) crumb.setScrollOffset((int) firstChild.getY()); }
private void restoreScrollPosition() { if (crumb == null) return; final int scrollY = crumb.getScrollPosition(); if (scrollY > -1 && scrollY < getAdapter().getItemCount()) { ((GridLayoutManager) mRecyclerView.getLayoutManager()) .scrollToPositionWithOffset(scrollY, crumb.getScrollOffset()); } }