Android Studio第三十一期 - 记录RecyclerView滚动位置并恢复

【Android Studio第三十一期 - 记录RecyclerView滚动位置并恢复】欠伸展肢体,吟咏心自愉。这篇文章主要讲述Android Studio第三十一期 - 记录RecyclerView滚动位置并恢复相关的知识,希望能为你提供帮助。
        代码已经整理好,看下面~有一天你会用到的~不客气哈~

Android Studio第三十一期 - 记录RecyclerView滚动位置并恢复

文章图片

//监听RecyclerView滚动状态 mRecyclerView.addOnScrollListener(new  RecyclerView.OnScrollListener()  {         @Override         public  void  onScrollStateChanged(RecyclerView  recyclerView,  int  newState)  {                 super.onScrollStateChanged(recyclerView,  newState);                 if(recyclerView.getLayoutManager()  !=  null)  {                         getPositionAndOffset();                 }         } }); /**   *  记录RecyclerView当前位置   */ private  void  getPositionAndOffset()  {         LinearLayoutManager  layoutManager  =  (LinearLayoutManager)  mRecyclerView.getLayoutManager();         //获取可视的第一个view         View  topView  =  layoutManager.getChildAt(0);         if(topView  !=  null)  {                 //获取与该view的顶部的偏移量                 lastOffset  =  topView.getTop();                 //得到该View的数组位置                 lastPosition  =  layoutManager.getPosition(topView);         } }/**   *  让RecyclerView滚动到指定位置   */ private  void  scrollToPosition()  {         if(mRecyclerView.getLayoutManager()  !=  null  & &   lastPosition  > =  0)  {                 ((LinearLayoutManager)  mRecyclerView.getLayoutManager()).scrollToPositionWithOffset(lastPosition,  lastOffset);         } }

       
Android Studio第三十一期 - 记录RecyclerView滚动位置并恢复

文章图片

本文出自 “梁肖技术中心” 博客,请务必保留此出处http://liangxiao.blog.51cto.com/3626612/1899155

    推荐阅读