当前位置: 首页 > news >正文

响应式网站建设开发公司婚恋网站建设分析

响应式网站建设开发公司,婚恋网站建设分析,十堰微网站建设电话,查降权网站RecycleView刷新某一个Item#xff0c;或这某一个Item中某一个View。 这样的需求#xff0c;在实际的开发中是很普遍的。 在数据变化后需要刷新列表。 刷新列表有三种方式#xff1a; 前两种大家应该很熟#xff0c;第三中会有点陌生。 那么这三种方式#xff0c;有什…RecycleView刷新某一个Item或这某一个Item中某一个View。 这样的需求在实际的开发中是很普遍的。 在数据变化后需要刷新列表。 刷新列表有三种方式 前两种大家应该很熟第三中会有点陌生。 那么这三种方式有什么却别呢 public void updateData() {notifyDataSetChanged();}public void updateData(int pos) {notifyItemChanged(pos);}public void updateData(int pos, Object payload) {notifyItemChanged(pos, payload);} 先看第一种notifyDataSetChanged() 这个就属于暴力刷新了他会刷新整个可见的item列表。刷新效率很差。我只想要更新某个Item中的TextView但是这种方式会导致全部Item列表重新绘制一遍。 findViewById(R.id.button1).setOnClickListener(v - {int pos 0;Person person list.get(pos);person.name update;person.age 44;adapter.updateData();});public void updateData() {notifyDataSetChanged();} 从日志中可以看出来这种刷新方式会把所有的Item重新绘制一遍。 再看第二种刷新方式 notifyItemChanged(pos); findViewById(R.id.button2).setOnClickListener(v - {int pos 0;Person person list.get(pos);person.name update;person.age 55;adapter.updateData(pos);});public void updateData(int pos) {notifyItemChanged(pos);}这种方式会根据传进来的pos来刷新对应的某一个Item。但是Item中会包含其他的View 也会导致其他的View跟着刷新虽然有了较大的优化但是还是有一些画蛇添足。 看日志 从日志可以看出的确刷只刷新了某一个Item。但是整个Item中定义的View也会跟着一起绘制 会执行onLayoutonMeasureonDraw三个绘制方式。 我只修改了某个View只需要重新绘制更新的VIew就行没有更新的不用跟着计算。 再看第三种方式 传进去了一个标识需要在重写onBindViewHolder的重载方法。 findViewById(R.id.button3).setOnClickListener(v - {int pos 0;Person person list.get(pos);person.name payload;person.age 66;adapter.updateData(pos, name);}); public void updateData(int pos, Object payload) {notifyItemChanged(pos, payload);}根据传进来的标识只改变需要修改的VIew。前提是要修改的View的大小不会变化只改变状态因为Item中其他的View不刷新。如果大小改变的话可能会导致布局跟着变这时就得需要item去重新计算来绘制了。 Overridepublic void onBindViewHolder(NonNull RecyclerView.ViewHolder holder, int position, NonNull ListObject payloads) {Log.e(nyz, onBindViewHolder pos position);if (!payloads.isEmpty() payloads.get(0).equals(name)) {Log.e(nyz, update name);Person person list.get(position);((MyViewHolder) holder).nameTv.setText(person.name);} else {Log.e(nyz, update item);super.onBindViewHolder(holder, position, payloads);}} 看日志 确实只修改了需要修改的View并没有导致整个View进行重新绘制。 代码下载https://download.csdn.net/download/niuyongzhi/88382724
http://www.hkea.cn/news/14540897/

相关文章:

  • 网站后台加密网站建设实训总结范文
  • 教育加盟网站建设嘉兴网站关键词推广
  • 建个网站需要服务器吗医院信息化建设网站
  • 珠宝网站设计外贸公司怎么接订单
  • 石家庄网站建设德信互联科技有限公司网页开发工具怎么打开
  • 做汤的网站有哪些福州服务类网站建设
  • 常州如何进行网站推广大型的平台类网站建设需要多少资金
  • 网站建设座谈会山西笑傲网站建设
  • 欧美个人网站招聘外包服务公司
  • 114百事通做网站600网络工程师网课
  • 德网站建设深圳形象设计公司
  • 开发施工建设网站审核最新项目网
  • 南宁市网站设计建设行业网站平台的瓶颈
  • 单页面的网站模板免费下载园林景观设计公司人员规模
  • 河北沧州建设官方网站怎么制作游戏?
  • 商城网站营销系统源码上海高端模板建站
  • 瑜伽网站模版wordpress html 单页模板
  • 网站维护 静态页面滨州淘宝网站建设
  • 网站免费优化三星企业网站建设ppt
  • 如何利用网站开发国外客户鸽WordPress主题
  • 关于开展网站建设工作的通知做soho 怎么建立网站
  • 大良招聘网站建设h5网站模板免费下载
  • h5网站建设 北京开设网站的费用
  • 长沙注册公司核名网站网页上传和网站开发
  • 汕头网站推广seo官方网站建设方法
  • 网站建设shundeit网站制作设计教程
  • 东莞的网站建设公司哪家好佛山林镜全
  • 企业网站用免费程序wordpress 分类页面模板
  • 青岛建设工程信息网站广州网络营销
  • ztouchs网站查询东方网络律师团队