直接上代码:

private int lastPosition = 0;
private int lastOffset = 0;mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {@Overridepublic void onScrollStateChanged(@NonNull RecyclerView recyclerView, int newState) {super.onScrollStateChanged(recyclerView, newState);// 记录位置// 获取可视的第一个viewView topView = mLinearLayoutManager.getChildAt(0);// 获取与该view的顶部的偏移量lastOffset = topView.getTop();// 得到该View的数组位置lastPosition = mLinearLayoutManager.getPosition(topView);}
});
// 在列表数据加完完成后,执行此方法,对数据进行操作
mRecyclerView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {@Overridepublic void onGlobalLayout() {// 利用线程mRecyclerView.post(() -> {// 这样更精确((LinearLayoutManager) mLinearLayoutManager).scrollToPositionWithOffset(lastPosition, lastOffset);});mRecyclerView.getViewTreeObserver().removeOnGlobalLayoutListener(this);}
});

RecyclerView中刷新数据并保持其滚动位置相关推荐

  1. Android 自动向上滚动,android – Recyclerview在插入数据时自动向上滚动

    我遇到了一个问题,当我将数据添加到数组列表然后将其添加到适配器之后,当我将其设置为recycleler视图适配器时,它会自动跳转到顶部我如何能够阻止它,就像我想在虚拟空间中添加数据一样我也尝试过使用 ...

  2. 滑动中刷新数据索引越界问题

    使用RecyclerView时,在滑动的同时刷新数据导致的索引越界,在自定义LayoutManager中添加以下代码@Override public boolean supportsPredictiv ...

  3. Android开发之RecyclerView之刷新数据notifyDataSetChanged失败的问题

    今天做购物车,特别奇怪notifyDataSetChanged无论如何不能刷新数据. 代码如下: marketCartTvEditShop.setOnClickListener(v -> {// ...

  4. extjs4 grid 刷新数据时不改变滚动条位置

    2019独角兽企业重金招聘Python工程师标准>>> 每次刷新Grid数据的时候 滚动条都会重置到页面首部,这样在去寻找刚才查看的记录很不方便,文档中也没有说明如何配置,查看了很多 ...

  5. vue中进入详情页记住列表滚动位置keep-alive解决

    一.配置路由 keepactice:true {path: '/index',name: 'index',component: index,meta: {keepalive: true // 组件是否 ...

  6. recyclerview 加载fragment_恢复 RecyclerView 的滚动位置

    您可能在开发过程中遇到过这种情况,在 Activity/Fragment 被重新创建后,RecyclerView 丢失了它之前保有的滚动位置信息.通常这种情况发生的原因是由于异步加载 Adapter ...

  7. android 多个按钮响应,处理Android Recyclerview中的多个按钮单击并将响应存储在Array或ArrayList中...

    我正在设计在线测验App.我设计了PlayQuiz.java文件如下: public class PlayQuiz extends AppCompatActivity { private Recycl ...

  8. hive 查询表中的数据来源hdfs 位置

    1\Hive中查看数据来源文件和具体位置方法 select id, dt ,xxx ,INPUT__FILE__NAME,BLOCK__OFFSET__INSIDE__FILE from data_m ...

  9. 用matlab处理表格,matlab删除excel表格数据-如何用matlab处理多个excel表格中的数据...

    如何用matlab处理多个excel表格中的数据 biao='D:\Program Files\matlab\bin\filename.xls'; A1=xlsread (biao,'Sheet1', ...

最新文章

  1. python语言包含的错误,Python语言程序中包含的错误,一般分为三种,以下____________不是其中的一种...
  2. GNU make manual 翻译(六十九)
  3. python字符串注释_python字符串注释_Python学习笔记-字符串与注释
  4. mybatis简单案例源码详细【注释全面】——测试层(UserMapperTest.java)
  5. qt自定义按钮类,每个按钮自带一个右键弹出框,如何使同一时刻只显示一个弹出框
  6. 069 Sqrt(x) 求平方根
  7. 高阻态是0还是1_羽毛球拍穿线,先拉横线还是竖线?是否横线要比竖线高1到2磅?...
  8. 整合重组叠加市场扩容 “广电云”发展将提速
  9. Codeforces Round #723 (Div. 2)B. I Hate 1111(完全背包)
  10. 《An Introduction to Ray Tracing》——2.3 Ray/Polygon Intersection And Mapping
  11. 开源项目:RGB转BMP
  12. rubyinstaller下载安装 redis集群
  13. MAC如何烧录img文件或ios文件
  14. google服务框架 闪退_没 Google 服务闪退?教你解决手游谷歌服务问题
  15. SoundPool循环播放
  16. 计算机丢失msvcp90dll怎么办,msvcp90.dll
  17. 走出情绪内耗:理性情绪行为疗法
  18. 62 stm32 usb自定义hid复合设备修改实验
  19. 浅析FPGA局部动态可重构技术
  20. [附源码]计算机毕业设计Node.js红叶装潢公司员工管理系统(程序+LW)

热门文章

  1. 春分耕种时,AI“现身”田间地头
  2. 微信平台开发与微信营销
  3. mac上将视频变小_14+电话面试技巧实际上将为您赢得工作机会
  4. 【转】MATLAB R2018a for Mac
  5. python第七章动手试一试_Python编程:从入门到实践的动手试一试答案(第七章)...
  6. apache java 搭建服务器搭建_Linux下Java Web服务器搭建(Apache2.2+2Tomcat6)
  7. 数据链路层三个基本问题(封装成帧 、透明传输和差错检测 )
  8. 酷炫十足!3D立体元素平面版式设计作品
  9. JAVA醋坊定制销售平台计算机毕业设计Mybatis+系统+数据库+调试部署
  10. python写软件实例-30分钟学会用Python编写简单程序