把原本使用的Adapter的notifyDataSetChanged方法换成定位刷新RecyclerView.Adapter的notifyItem。


1.在CrimeListFragment里面定义一个全局变量

1 private static int mCrimeIndex;

2.修改CrimeListFragment下的onClick方法

1  @Override
2         public void onClick(View v) {
3             Intent intent = CrimeActivity.newIntent(getActivity(),mCrime.getmId());
4             mCrimeIndex = getAdapterPosition();//返回数据在Adapter中的位置
5             //Log.d("onClick","mCrimeIndex "+mCrimeIndex);
6             startActivity(intent);
7         }

3.修改updateUI方法

 1 private void updateUI(){
 2         CrimeLab crimeLab = CrimeLab.get(getActivity());
 3         List<Crime> crimes = crimeLab.getmCrimes();
 4         if(mAdapter == null){
 5             mAdapter = new CrimeAdapter(crimes);
 6             mCrimeRecyclerView.setAdapter(mAdapter);
 7         }else {
 8             //重绘当前可见区域
 9             //mAdapter.notifyDataSetChanged();
10
11             //部分重绘
12             mAdapter.notifyItemChanged(mCrimeIndex);
13         }
14     }

4.运行效果:

5.用调试信息输出看看mCrimeIndex的变化,可以得知后退时没有变化


转载于:https://www.cnblogs.com/real1587/p/9923948.html

挑战练习10.6 实现高效的RecyclerView刷新相关推荐

  1. 10款实用高效的网页版PS插件推荐!

    PS是设计界适用范围广.应用次数多的基础性设计工具,PS的功能之强大,常常令新手望而却步.其实,为了对PS的功能进行补充和优化,这些年来陆续开发出了许许多多的功能性PS插件,在网页版 PS --即时设 ...

  2. 零基础在家学编程,挑战年薪10万~100万

    疫情常态化,居家常态化,房贷.车贷.生活开支常态化,如何让我们的收入也常态化?有人说,我们眼下所处的二十一世纪二十年代是世界大转折之年代,而作为一位社会普通人员,如何才能跟上社会发展,如何提高自己生存 ...

  3. 搭配BRVAH高效使用RecyclerView

    学习目标 熟悉使用 BRVAH 解决对应各种 adapter 需求 概述 BRVAH 是 Github 上的一个很棒的开源项目,主要作用是帮助我们更加高效的使用 Recyclerview 控件,处理项 ...

  4. RecyclerView 刷新Item图片闪烁

    RecyclerView 刷新Item图片闪烁 在项目开发过程中,我们可能会用到RecyclerView来加载列表数据.而数据又离不开需要加载图片. 我们在加载图片的框架时,常用的也是glide pi ...

  5. RecyclerView刷新跳到顶部

    RecyclerView刷新跳到顶部 RecyclerView刷新后回跳到第一条item问题:在第一个(有可能是多布局)item的xml布局最外层加android:descendantFocusabi ...

  6. 字节跳动VP 谢欣:打造10倍速高效组织的秘密!

    来源:混沌大学    作者:字节跳动VP 谢欣 大家好,我是字节跳动副总裁谢欣,今天和大家分享的是飞书背后的组织思考. 过去,我们更多会谈到飞书的产品功能.用户体验.效率提升,但今天,我想细致展开所有 ...

  7. mysql 几十连接_MySQL挑战:10万连接数

    Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发. 在这篇文章中,我想探索一种与MySQL建立100,000个连接的方法.不限于空闲连接,还有执行查询功能的连 ...

  8. 10大最高效的Java库盘点

    1. Java 标准库 不用怀疑,我说的就是Java标准库,很多人都低估了或者没有完全了解Java标准库,并且不知道如何在编程的时候使用它,有些人甚至都不用它,下面说一些Java标准库的简要说明 ●  ...

  9. 微信支付分正式上线:马化腾在朋友圈四处挑战,10分钟后被打败

    Python实战社群 Java实战社群 长按识别下方二维码,按需求添加 扫码关注添加客服 进Python社群▲ 扫码关注添加客服 进Java社群▲ 作者丨周小白 来源丨TechWeb(TechWeb) ...

最新文章

  1. 你的声音作为一种“武器”:人类战争中声学活动
  2. Kubernetes 使用 ceph-csi 消费 RBD 作为持久化存储
  3. transformers库的使用【二】tokenizer的使用,模型的保存自定义
  4. Java 文件字符输入流FileReader读取txt文件乱码问题
  5. AntDesignPro一次添加多条数据的表单字数限制,并且把input框变为可变文本框
  6. React开发(126):ant design学习指南之form中的自定义校验labelCol
  7. OSPF两种组播地址的区别和联系
  8. hadoop tyarn冲突_Hadoop之Yarn
  9. 为了在简历上写掌握【Java虚拟机JVM】,做了该篇总结
  10. mysql系统调试文字说明_mysql的配置说明
  11. uniapp判断是ios、android、小程序
  12. python画蛋糕_用python代码绘制漂亮生日蛋糕
  13. AI中插入带圆圈的1-20数字
  14. Minecraft 1.19.2 Fabric模组开发 13.自定义村民
  15. 学完python可以从事哪些工作?
  16. qml 滚动控件Scroll ScrollBar ScrollIndicator ScrollView
  17. PHP字符串函数strtoupper( 将字符串转化为大写)
  18. OpenCV论道:为什么我的伽马校正函数只有一行?
  19. php 读取mysql 返回xml_用php解析xml并保存到mysql
  20. 85-决策树解决回归问题

热门文章

  1. 如何防止app接口被别人调用
  2. PHP从千千静听服务器获取lrc歌词
  3. Android(java)学习笔记69:短信发送器
  4. Javascript UserAgent 获取平台及浏览器信息
  5. Hive一些参数设置
  6. 另一种将线程并入应用程序的方法-委托
  7. Linux下select函数的使用
  8. Java中的强软弱虚引用《对Java的分析总结三》
  9. Mr.J-- jQuery学习笔记(十九)--自定义动画实现图标特效
  10. [转]C++类成员修饰const和mutable