是的,我在被困几个小时后发现了原因,各种调试未果。
然后还是决定在网上查:
查到了:
listview中adapter的数据是放在 list里的。当刷新数据时,去服务器请求到新数据,然后
传给list。代码是在新线程里得到新数据集合list2,然后在handler里令list=list2,以为这样就可以了,
但adapter.notifyDataSetChanged无效。
原因:list里的内容并没有变。
解决方案:list.addAll(list2);确保list变化即可。
然后恍然大悟,
原因就是我是直接新的数据
List<E> oldData = new ArrayList<E>();
....
listView.setAdater(oldData, ....)
在处理后我用了oldData = newData. 然后notifyDataSetChanged
而这就是错误的原因。listView不会认为这里数据没有变化。
正确做法是oldData.clear(); oldData.addAll(newData).
然后notifyDataSetChanged
分享到:
相关推荐
ListView下拉刷新 ListView下拉刷新ListView下拉刷新ListView下拉刷新
Android中ListView用NotifyDataSetChanged实现添加数据时动态刷新
解决Scrollview嵌套listview下拉刷新的一些问题
Listview不用notifydatasetchanged更新数据的方法
为了解决listview局部刷新调用getView多次
android 实现listview动态下拉刷新,动态加载数据 可以避免一次数据加载过多
Android_ListView动态刷新
androidListView下拉刷新Demo 详情参考:http://blog.csdn.net/wild46cat/article/details/52636683
Android ListView下拉刷新 Demo.rar
仿照手机微博刷新列表,下拉listview松手后刷新数据
ListView动态加载刷新
解决了listview刷新后重绘的闪烁,用此方法后,不再闪烁。
三种ListView下拉刷新的样式 刷新进度条跟随下拉距离转动 最通用的比较原 始的 自己定义进度条
ListView水滴效果的下拉刷新。具有新的动态感。
整理了下以前写的小项目,ListView的下拉刷新,虽然小但还是想纪念下。。适合新手看,大神略过。。。
Android listview 下拉 刷新
unity小巧插件,功能单一,用来listview的下拉刷新,操作简单
自定义listview下拉刷新上拉加载更多以及与google官方的下拉刷新结合使用
NULL 博文链接:https://geningaixin.iteye.com/blog/2034379