Android ListView Adapter notifyDataSetChanged 刷新没有效果
来源:互联网 发布:c 语言编程软件 编辑:程序博客网 时间:2024/06/07 19:13
1、唠叨
最近发现使用ListView的时候,通过调用Adpater的notifyDataSetChanged方法不能刷新UI数据显示
2、原因分析
1).数据源没有更新,调用notifyDataSetChanged无效。
2).数据源更新了,但是它指向新的引用,调用notifyDataSetChanged无效(一般主要是这种情况,使用了新创建的list对象(List<E> datalist=new ArrayList ),但是adapter中的是原始initlist对象)。
3).数据源更新了,但是adpter没有收到消息通知,无法动态更新列表。
3、解析
- 1
- 2
- 3
- 4
此时mAdapter保存了mList的引用
- 1
- 2
- 3
- 4
- 5
- 6
- 7
当newList赋值给mList的时候 mList指向了一个新的List,但是notifyDataSetChanged方法调用的时候,mAdapter却更新的是保存的引用,因此原引用根本没发生变化,不会更新UI显示。
4、代码展示几种解决办法
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
阅读全文
0 0
- Android ListView Adapter notifyDataSetChanged 刷新没有效果
- Android ListView Adapter notifyDataSetChanged 刷新没有效果
- Android listView 的适配器adapter.notifyDataSetChanged();刷新没有作用
- Android listView使用Adapter.notifyDataSetChanged()不刷新
- android ListView adapter notifyDataSetChanged刷新先决条件
- Adapter调用notifyDataSetChanged后listview不刷新
- adapter.notifyDataSetChanged()使用没有效果的解决办法。
- android listview用adapter.notifyDataSetChanged()无法刷新每项的图标
- 【Android笔记-5】ListView adapter.notifyDataSetChanged
- android使用notifyDataSetChanged()方法,adapter的数据更新了,但是ListView的内容没有更新;
- android使用notifyDataSetChanged()方法,adapter的数据更新了,但是ListView的内容没有更新;
- android使用notifyDataSetChanged()方法,adapter的数据更新了,但是ListView的内容没有更新
- 使用adapter的notifyDataSetChanged时列表数据没有刷新
- adapter.notifyDataSetChanged没有反应,触摸滑动屏幕才刷新
- adapter调用notifyDataSetChanged刷新没有起作用的原因
- adapter.notifyDataSetChanged()无刷新
- adapter.notifyDataSetChanged()刷新不起作用
- notifyDataSetChanged()刷新ListView(使用JSONArray绑定的Adapter)
- BaseService
- opencv3模块
- mosquitto源码分析
- Android 内存泄漏总结
- Python时间戳与时间字符串互相转换
- Android ListView Adapter notifyDataSetChanged 刷新没有效果
- 【WEB】实战之html与css扁平化风格博客
- sublime text3安装并配置node.js环境
- 拓扑排序模板 POJ-2367 Genealogical tree
- 40道面试题
- Java多线程同步五种方法
- ThinkPHP5 响应输出
- 购物车实现流程
- Spring Boot 快速入门