title: Refreshing data in RecyclerView and keeping its scroll position
body: <p>How does one refresh the data displayed in <code>RecyclerView</code> (calling <code>notifyDataSetChanged</code> on its adapter) and make sure that the scroll position is reset to exactly where it was? </p>
  
  <p>In case of good ol' <code>ListView</code> all it takes is retrieving <code>getChildAt(0)</code>, checking its <code>getTop()</code> and calling <code>setSelectionFromTop</code> with the same exact data afterwards.</p>
  
  <p>It doesn't seem to be possible in case of <code>RecyclerView</code>.</p>
  
  <p>I guess I'm supposed to use its <code>LayoutManager</code> which indeed provides <code>scrollToPositionWithOffset(int position, int offset)</code>, but what's the proper way to retrieve the position and the offset? </p>
  
  <p><code>layoutManager.findFirstVisibleItemPosition()</code> and <code>layoutManager.getChildAt(0).getTop()</code>? </p>
  
  <p>Or is there a more elegant way to get the job done?</p>