一、错误代码

今天使用listview刷新数据的时候,调用notifyDataSetChanged并没有刷新数据,看一下代码发现逻辑没有问题啊,每次修改之后刷新列表的时候,roomDatas获取数据,在调用notifyDataSetChanged。

二、解决问题

咋一看上面的没有问题,其实roomDatas每次都被赋值一个新的list对象,应该adapter的list应该也会发生变化。

但是事实上并不是这个这样的,当构造Adapter适配器,数据列表dataList传递过去时,是把roomDatas指向的地址副本作为参数传递给了adapter中的list成员变量了,因此roomDatas指向的内存区域和adapter中list指向的内存区域是同一块内存区域。

对roomDatas的内存指向做了修改,但是该指向并没有通知到adapter中的list,也就是说list指向没有发生变化,还是指向原来修改前的内存区域,因此dataList的改变并不能引起list的改变,本质上来说list没有发现数据有变化。

当我们想要更换ListView中的所有数据时,先将数据移除,再重新添加数据或更换新的内存区域指向

具体代码改成这样即可:

Android ListView notifyDataSetChanged()不刷新数据相关推荐

  1. android listview下拉刷新动画,android 安卓 listview 支持下拉刷新 上拉加载更多

    [1]重写listViewimport java.text.SimpleDateFormat; import java.util.Date; import com.example.testdddlea ...

  2. android 无刷新 好友,Android viewPage notifyDataSetChanged无刷新

    转载 http://www.67tgb.com/?p=624 最近项目结束,搞了一次代码分享.其中一位同学分享了一下自己在解决问题过程中的一些心得体会,感觉受益匪浅.整理出来,分享给大家. 建议使用自 ...

  3. Android ListView下拉刷新时卡的问题解决小技巧

    问题:ListView下拉刷新时看上去非常的卡 解决方案: 在BaseAdapter的getView方法中,有三个参数 public View getView(int position, View c ...

  4. Android ListView 下拉刷新 上拉更多[实例]

    旧代码作废了,换成新的把,源码在 http://www.stay4it.com/?p=245 今天得需求是做listview+上下拉动在header和footer显示progressdialog,但不 ...

  5. android listview动态加载数据,ListView动态加载数据

    当listview需要加载的数据过多时,若一次性载入则速度会相当缓慢,影响用户体验,这时候就需要动态加载数据,即每次载入固定长度的数据,android market的listview就是采用这种方式, ...

  6. android listview下拉刷新动画,ListView下拉刷新实现方式详解和改造(上)

    我们知道页面的下拉刷新目前基本已经成为智能移动终端的标配刷新方式.Twitter设计出现有的下拉刷新(在2013年申请了专利). 下拉刷新1.jpg 这一优美而又简单的刷新方式,很快使得各大系统纷纷效 ...

  7. Android ListView下拉刷新、上拉载入更多

    找下拉刷新,上拉加载的demo找了好久,踩找到这个相对完美的.所以分享给大家 https://github.com/Maxwin-z/XListView-Android 0. XListView继承L ...

  8. Android ListView下拉刷新

                 下拉刷新原理: 重新ListView,addHeaderView(),增加一个头部信息"松开刷新..."类似字样: 在OnTouchEvent监听事件中, ...

  9. Android ViewPager Fragment 切换刷新数据,解决生命周期只走一次的问题

    前言 Activity的生命周期都应该熟悉,Fragment其标准生命周期也仅比Activity多出一些流程,如onCreateView(),比较好理解.了解Activity.Fragment的基础知 ...

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

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

最新文章

  1. 不停应用重启oracle数据库,此类情况下解决Oracle数据库重启的四种方案
  2. 探索Julia(part14)--学生得分描述性统计案例
  3. eigrp配置实验_来,太阁带你做实验
  4. Vue.js 学习笔记 九 v-if和v-show
  5. Scrapy学习篇(十)之下载器中间件(Downloader Middleware)
  6. centos下nginx安装和配置
  7. [PMP]专题资源管理错题
  8. linux 忘记了密码,Linux忘记密码的解救方法
  9. 一些不为人知的秘密[迅雷和快播]
  10. 浅析DNS劫持和HTTP劫持
  11. 360n6pro刷鸿蒙系统,360手机N6Pro有没事用win10刷机成功的交流一下心得
  12. 360隐私保护器重现 称不针对任何公司
  13. 唱作俱佳,腾讯AI艾灵领唱中国新儿歌
  14. [每日100问][2011-10-06]iphone开发笔记,今天你肿了么
  15. Java 方法与C语言函数微区别
  16. 内存换CPU CPU换内存例子
  17. 求最小公倍数的方法php,JS怎么求得最小公倍数和最大公约数
  18. iOS开发 XCode如何清理历史的项目工程记录
  19. dij与prim算法
  20. Android系统设置settings应用学习(二)--源代码解析

热门文章

  1. 简单对抗神经网络GAN实现与讲解-图片对抗
  2. Windows下删除文件夹提示找不到该项目,请确认该项目的位置,然后重试。
  3. 【软考系统架构设计师】2015年下系统架构师综合知识历年真题
  4. CSS属性—居中对齐篇
  5. vue实现简单的日历
  6. TB6612驱动和MG513P3012V电机
  7. 双容水箱液位串级控制系统的设计
  8. POI实现合并单元格
  9. 黑马JAVA P177 定时器
  10. 第5章 软件质量标准概述