public void notifyDataSetChanged():

通过一个外部的方法控制,如果适配器的内容改变了,那么就会强制调用getView来刷新每个Item的内容。这个方法内部实现了在每个观察者上面调用onChanged事件,每当发现数据集有改变的情况,或者读取到数据的新状态时,就会调用此方法。

public void notifyDataSetInvalidated ():

这个方法内部实现了在每个观察者上面调用onInvalidated事件,每当发现数据集监控有改变的情况,比如该数据集不再有效,就会调用此方法。

Listview刷新功能,之前解决都是给Listview重新赋上adapter,这样Listview就滚动到第一条了,但是这样会有些耗内存,代码看起来也不美观。

以下时最主要的区别:

notifyDataSetInvalidated(),会重绘控件(还原到初始状态)
notifyDataSetChanged(),重绘当前可见区域

转载于:https://www.cnblogs.com/rh1910362960/p/4250388.html

notifyDataSetInvalidated()跟notifyDataSetChanged()的区别相关推荐

  1. Android中Adapter的notifyDataSetInvalidated()和notifyDataSetChanged()的区别

    notifyDataSetChanged方法通过一个外部的方法控制如果适配器的内容改变时需要强制调用getView来刷新每个Item的内容. public void notifyDataSetChan ...

  2. notifyDataSetInvalidated()和notifyDataSetChanged()的区别

    简单的说就是notifyDataSetChanged()会记住你划到的位置,重新加载数据的时候不会改变位置,只是改变了数据; 而用notifyDataSetInvalidated()时,数据改变的同时 ...

  3. BaseAdapter 的notifyDataSetInvalidated 和notifyDataSetChanged

    写了一年的多的android代码,都没有明白notifyDataSetInvalidated 和notifyDataSetChanged是什么原理. 今天就来好好了解. 我们一直以来,在listVie ...

  4. notifyDataSetInvalidated()和notifyDataSetChanged()有什么区别? (转载)

    notifyDataSetChanged方法通过一个外部的方法控制如果适配器的内容改变时需要强制调用getView来刷新每个Item的内容. public void notifyDataSetChan ...

  5. Android中notifyDataSetInvalidated()和notifyDataSetChanged()有什么区别

      看下源码中对于这两个方法   public void notifyDataSetChanged () 该方法内部实现了在每个观察者上面调用onChanged事件.每当发现数据集有改变的情况,或者读 ...

  6. notifyDataSetInvalidated()和notifyDataSetChanged()有什么区别

    notifyDataSetChanged方法通过一个外部的方法控制如果适配器的内容改变时需要强制调用getView来刷新每个Item的内容. public void notifyDataSetChan ...

  7. notifyDataSetInvalidated()和notifyDataSetChanged()有什么区别?

    notifyDataSetChanged方法通过一个外部的方法控制如果适配器的内容改变时需要强制调用getView来刷新每个Item的内容. public void notifyDataSetChan ...

  8. Android中notifyDataSetInvalidated()和notifyDataSetChanged()

    首先看一下notifyDataSetChanged与notifyDataSetInvalidated的区别: 我们打开官方的源码: /*** Notifies the attached observe ...

  9. Android之面试题!初级到大师!!!!50道

    1.怎么实现通知栏到聊天界面的跳转 Intent intent = new Intent(Intent.ACTION_MAIN); intent.setFlags(Intent.FLAG_ACTIVI ...

最新文章

  1. 暑期集训5:并查集 线段树 练习题G: HDU - 1754
  2. 【数据结构】顺序表的应用(2)(C语言)
  3. swing打地鼠游戏_在家也能玩的幼儿数学思维小游戏(2)多种数数的方法
  4. 后端根据百度地图真实路径距离_远场语音识别错误率降低30%,百度提基于复数CNN网络的新技术...
  5. 常见算法:C语言求最小公倍数和最大公约数三种算法
  6. EF Code First Migrations数据库迁移
  7. springboot 读取配置文件_使用 @ConfigurationProperties 在 Spring Boot 中加载配置
  8. maven 对于java的要求_如何在Maven中表达对Java EE功能的依赖以过渡到Java 9?
  9. python调试利器pysnooper
  10. codeforces 675D Tree Construction set
  11. 用概率的方法计算Pi值
  12. FMEA-MSR 步骤五:风险分析(一)
  13. ACM河南第八届省赛题
  14. linux cpu 温度 代码,linux CPU温度
  15. springboot+websocket聊天室(私聊+群聊)
  16. android壁纸设置,android设置壁纸 的方法
  17. 五大常用算法:分治、动态规划、贪心、回溯和分支界定
  18. PKUSC 模拟赛 day1 下午总结
  19. 微信九宫图生成HTML源码
  20. java如何调用接口股票的?

热门文章

  1. 关于ios颜色渐进的总结
  2. javaweb添加拦截器
  3. Mysql数据库 sql 语句调优
  4. 【Python】0/1背包、动态规划
  5. 性能测试之操作系统计数器分析方法
  6. CSS中expression使用简介(转载)
  7. Swift来了,是不是可以入手IOS开发了?
  8. Android开发之使用SharedPreferences实现QQ登陆的选项框记忆功能(源代码分享)
  9. Glide @GlideModule 注解使用
  10. compileReleaseJavaWithJavac