使用Listview的时候: 当要动态显示更改后的 数据 (例如 数据 库改动), 很多人应该都用过notifyDataSetChanged();这个方法来刷新Listview,显示改后的 数据 .

这时候就要注意了: 
                 ......
                 private ArrayList<HashMap<String, Object>> usersList;
                 ......
                 usersList= query(......);     //根据查询函数获取一个ArrayList并赋值给绑定到Adapter的 数据 源usersList
                 sAdapter.notifyDataSetChanged();
                 ......

如果你也是:   上面这种形式去刷新ListView的 数据 的话, 是不可以 更新 的. 必须改成如下形式:

......
                 //usersList= query(......);    
                 usersList.clear();  
                 usersList.addAll(query(......)); 
                 sAdapter.notifyDataSetChanged();

///

原因是:    sAdapter会通过usersList获取List中的内容。但是实际上可能(也应该)是,在调用super(MyActivity.this, R.layout.item, usersList)时sAdapter保存了usersList指向原List(假设为List a)的引用,在调用query函数之后,usersList指向了一个新的List(List b)。但是在调用notifyDataSetChanged()时,sAdapter会跟据保存的引用(即指向List a的引用)去 更新 ,因此当然还是原来的结果,不会进行 更新 。

如果大家也出现这种情况可以使用后者去刷新ListView, 应该就没问题了

地址:http://www.eoeandroid.com/forum.php?mod=viewthread&tid=192565

关于ListView中notifyDataSetChanged()刷新数据不更新原因相关推荐

  1. android listview 刷新数据,ListView中notifyDataSetChanged()刷新数据不更新原因分析

    标题 : 不作死就不会死!!!!!! 类 : ActivityA,ActivityB,BookListAdapter,Book,HttpManager 测试顺序 : ActivityA >> ...

  2. 【PowerQuery】在Excel中手动刷新数据连接

    将数据通过PowerQuery 导入进来后,这里将进行数据分组运算,最终的数据计算结果将保存在Excel 表格中,图1为数据导入结果. 图1 使用PowerQuery 加载导入的数据 在Excel中, ...

  3. datagrid wpf 刷新数据_wpf – 更新数据源时刷新Datagrid

    我有一个数据网格,显示一个绑定到DataSource的表,该数据源不断更改时间约束. 如何在更新myDataSource值时刷新数据网格的内容. P.S:我的DataSource表中的值由监控系统更新 ...

  4. RecyclerView中notifyDataSetChanged刷新总结

    除了adapter.notifyDataSetChanged()这个方法之外,新的Adapter还提供了其他的方法,如下: public final void notifyDataSetChanged ...

  5. android ListView中含有按钮事件实时更新ListView数据案例-1

    1.布局文件Listview <?xml version="1.0" encoding="utf-8"?> <android.support. ...

  6. 前端笔记-vue cli中v-bind动态数据实时更新

    目录 基本概念 代码 基本概念 如下的例子,刚开始运行: 点击按钮: 数据库修改下数据: 再点击按钮刷新下: 下面给出请求的json数据: 刷新有2个方式 第一种是强制刷新,这样是有问题的,数据和图表 ...

  7. Flutter ListView 局部刷新数据、ListView点赞收藏

    题记 -- 执剑天涯,从你的点滴积累开始,所及之处,必精益求精. Flutter是谷歌推出的最新的移动开发框架. [x1]微信公众号的每日提醒 随时随记 每日积累 随心而过 [x2]各种系列的视频教程 ...

  8. android notifydatasetchanged 刷新错误,Android中适配器的notifyDataSetChanged()为何有时不刷新...

    学过Android开发的人都知道,ListView控件在开发中经常遇到,并且ListView通常结合Adapter适配器来进行数据显示和数据更新操作.姑且假设数据存储在名为dataList的成员变量中 ...

  9. android 解决listview.notifyDataSetChanged刷新时Imageloader加载图片闪烁问题

    今天,简单讲讲android里再listview调用notifyDataSetChanged刷新界面时,Imageloader加载图片会闪烁的问题. 最近,发现app里的listview图片会出现闪烁 ...

最新文章

  1. 数据分析(EDA)学习总结!
  2. 【Keras】Linux一个shell脚本安装python、keras、tensorflow、anaconda等~
  3. 通过btrace排查线上频繁Full GC的case
  4. python有道词典-利用Python3和Charles爬取有道词典
  5. VC 在CStatic控件上绘图
  6. BZOJ1787: [Ahoi2008]Meet 紧急集合
  7. 微信小游戏背后的技术优化
  8. SAP Commerce Cloud OCC User Role
  9. Python Pandas –操作
  10. typora 分割线_实战 | 五分钟,使用Typora+PicGo提升百倍写作效率
  11. nacos动态配置数据源_Sentinel使用Nacos存储规则及同步
  12. 没有第三个变量的前提下交换两个变量_很多人连Python变量都没搞懂,说自己会python
  13. sagemath matlab,开源跨平台数学软件SageMath v8.1
  14. 2019ZIF郑州工博会 盛大起航
  15. linux df -hl 数据解释,linux磁盘空间查看命令(du,df)剩余空间查看详解
  16. STM32开发环境搭建——Keil5
  17. 人工智能本科专业高校名单大全(440所)
  18. Struts2检测工具
  19. 学生成绩管理系统(合并文件,查找,总分排序,保存补考学生信息)
  20. .NET在蹉跎中一路前行1

热门文章

  1. Java安全—CommonsCollections3
  2. 利用鼠标滚轮事件让页面横向滚动
  3. GIS(地理信息系统/地理信息科学)职称评审三:中科院和人社部职称评审结果公示对比
  4. 关于ArcGISPro镶嵌数据集导入多源大批量栅格数据出现空白情况的解决方案
  5. 净亏损1166亿?“短视频第一股”首份年报藏了这些玄机
  6. C语言数据结构-第四章 串-电大同步进度
  7. 重新安装 Internet Explorer
  8. 时代金融杂志时代金融杂志社时代金融编辑部2022年第12期目录
  9. 小学五年级如何引导学计算机,孩子小学五年级作业写拖拉爱走神,该怎么引导?...
  10. 图像压缩算法构造最优解c语言,基于Handel-C的CCSDS图像压缩算法实现研究