Android中ListView数据使用sAdapter.notifyDataSetChanged();方法不刷新的问题
原文链接:http://blog.csdn.net/caihongdao123/article/details/51513410 点击阅读原文
-------------------------
1.涉及到数据库
当要动态显示更数据库改动,相信大家应该都用过notifyDataSetChanged();.
例如:
......
private ArrayList<HashMap<String, Object>> usersList;
......
usersList= query(......); //根据查询函数获取一个ArrayList并赋值给绑定到Adapter的数据源usersList
sAdapter.notifyDataSetChanged();
上面这种形式去刷新ListView的数据的话, 是不可以更新的. 必须改成如下形式:
usersList.clear(); //先清空集合
usersList.addAll(query(......));
sAdapter.notifyDataSetChanged();
原因是:
Adapter在调用super(MyActivity.this, R.layout.item, usersList)时Adapter保存了指向原List的引用,在调用query函数之后,usersList指向了一个新的List。但是在调用notifyDataSetChanged()时,Adapter会跟据保存的引用去更新,因此当然还是原来的结果,不会进行更新。
2.布局xml中属性值的问题
当你布局中ListView的Android:layout_height="wrap_content"时,可能导致页面没有及时更新而出现数据不更新的问题只要将ListView的布局属性更改为android:layout_height="match_parent"即可。
3.其他问题可能就是数据或者List没有及时update里面的数据
Android中ListView数据使用sAdapter.notifyDataSetChanged();方法不刷新的问题相关推荐
- android listview 数据同步,android中ListView数据刷新时的同步方法
本文实例讲述了android中ListView数据刷新时的同步方法.分享给大家供大家参考.具体实现方法如下: public class Main extends BaseActivity { priv ...
- Android中保存数据的三种方法
一,Preferences Preferences是一个较轻量级的存储数据的方法,具体使用方法: 在A中保存值: SharedPreferences.Editor sharedata = getSha ...
- android中ListView控件onItemClick事件中获取listView传递的数据
http://blog.csdn.net/aben_2005/article/details/6592205 本文转载自:android中ListView控件&&onItemClick ...
- android listview高级,Android中Listview点赞功能的实现
最近这段时间一直在看Android,利用Listview去实现点赞功能,下面给大家介绍下基本思路. 基本思路: 进入界面–>获取数据–> 在Listview中显示–> 通过map集合 ...
- Android中XML数据解析
转载请注明出处:http://blog.csdn.net/yegongheng/article/details/38296207 XML初步 今天我们来学习另一种非常重要的数据交换格式-XML.XML ...
- Android中对图片的内存优化方法
Android 中对于图片的内存优化方法 1. 对图片本身进行操作 尽量不要使用 setImageBitmap.setImageResource.BitmapFactory.decodeResourc ...
- android libbfaac.so,Android中Json数据读取与创建
一: Json的特性和在数据交互中的地位就不用说了,直接看案例. 首先在android studio中创建assets文件目录,用于存放Json数据文件,android studio 1.3 默认项 ...
- Android 中的数据储存方案, 持久化技术
为什么80%的码农都做不了架构师?>>> Android 中储存数据的方法主要有三种: 1,文件储存. 2,SharedPreference储存. 3,数据库储存. 1. 文件 ...
- Android中的数据存储
Android中的数据存储 1.SharedPreference存储(共享参数) 1.1.使用SharedPreferences存储和读取数据的步骤 存储数据 保存数据一般分为四个步骤: 使用Acti ...
最新文章
- LeetCode-笔记-131. 分割回文串
- AI助锂电池技术 科学家有望彻底解决电池爆炸
- idea编译的文件怎么用cmd打开_JAVA学习册|基础语法|cmd输出HelloWorld
- AIX性能管理指南-luoqiangb@dc
- 微信电脑客户端登陆_电脑端的微信只能开一个?简单操作就能随意开
- error_reporting()的用法
- 在微信小程序中使用字体图标
- 半导体重磅!英飞凌宣布100亿美元收购赛普拉斯
- ORACLE中CONSTRAINT的四对属性
- 51nod 1065 最小正子段和 (贪心)
- .net web开发经典图书总结
- 使用61850网关实现modbus和电力iec61850协议的转换
- 数据拟合MATLAB与origin哪个好,Origin:数据处理、作图和拟合的利器
- 电池充电电路(TP4059)详解
- mysql参数之max_connect_errors
- NYOJ326_Dining(最大流)
- win10系统服务器错误怎么解决方法,分享win10系统提示内部服务器错误的解决方案...
- 我看好金融IT业的几个理由
- Allegro导出元器件pad坐标和网络(附带ODB++插件下载)
- PIL打开PNG图片出现杂乱的条纹
热门文章
- 启动linux_使用 UEFI 双启动 Windows 和 Linux | Linux 中国
- 查看网卡命令 uefi_大神教你开机进入UEFI模式的方法,非常简单
- 配置snmp_多种设备基于 SNMP 协议的敏感信息泄露漏洞数据分析报告
- linux系统下压缩文件,Linux系统下文件的压缩.打包与解压
- php 精度运算,PHP BC 库(任意精度数字运算) | 网游世界
- php curl cookie,php中curl获取返回页面的cookie
- 二叉树的层序遍历和前中后序遍历代码 迭代/递归
- Python中的生成器与迭代器
- mysql在rpm安装方式下查看随机生成密码命令
- torch.cuda.is_available(),torch.cuda.device_count(),torch.cuda.get_device_name(0)