问题描述:
Listview的item中有图片,在刷新时及时新数据和旧数据并无两样,imageview还是会闪动。
先来分析图片闪动可能的原因:
1)adapter = new WillListAdapter(MyApplication.getInstance(), wills);
不管此前adapter是否已绑定数据,或数据前后有没有变化,这条语句执行的时候,adapter都会使listview重绘所有item,这个闪动不可避免
2)adapter.notifyDataSetChanged();
如果该 item对应的数据发生变化,会重绘该item,出现闪动
3)imageview的异步加载可能有问题,改用volley不会出现
解决:
这里只解决刷新后数据没变但发生闪动的情况
刷新的 错误代码
adapter = new WillListAdapter(MyApplication.getInstance(), wills);
改为
if (!wills.isEmpty()) { wills.removeAll(wills); } wills.addAll(JsonTools.getObjects(httpResult.getResult().toString(), Will.class)); adapter.notifyDataSetChanged();
Done
原文:http://www.cnblogs.com/xingyyy/p/4189878.html