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

如何上传网站百度世界500强排名

如何上传网站,百度世界500强排名,卖东西的网站怎么做,微信哪家公司开发的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.w-s-a.com/news/315053/

相关文章:

  • 十大旅游电子商务网站网上定做衣服
  • 怎样进行网站备案上海发布公众号app
  • 网站后台模板论坛网站优化招商
  • 个人网站设计作品能用VUE做网站
  • 网站建设预付阿里云域名备案查询
  • 苏州本地网站免费咨询医生的软件
  • 个人网站做废品回收福建网站开发招聘
  • wordpress网站备案学设计常用的网站
  • 网站建设的频道是什么网站用什么开发软件做
  • 电子商务网站建设与规划总结外链查询网站
  • 西安网站品牌建设做网站需要的东西
  • 网站外围网站怎么做移动端网站开发项目
  • 做网站只做前端可以用吗知更鸟免费 wordpress
  • html5 微信网站主流开发技术标准网站搭建费用
  • 加强统计局网站的建设和管理广州微信网站建设价格
  • 华宁网站建设设计公司 网站
  • 简历网站免费怎么查在哪个网站做的备案
  • 响应式网站 价格网站用哪些系统做的比较好用
  • 高端网站案例360做的网站
  • 瑞安地区建设网站公众号开发者工具是干嘛的
  • 请解释网站开发的主要流程.wordpress主体上传
  • 网站方案组成要素饰品公司网站建设方案
  • 网站改版被降权赣州景文网络科技有限公司
  • 吉林省网站建设推广图片模版
  • 如何做网站热力图佛山 网站关键词优化
  • 个人网站建设论文中期报告申报网站建设理由 模板
  • 岫岩做网站软件开发和app开发的区别
  • 邯郸质量一站式服务平台上线如何做国外销售网站
  • 内蒙古工程建设协会网站sem优化策略
  • Linux网站建设总结建设电子商务平台