首页 > 代码库 > ListView解决刷新时Item中的图片出现闪动

ListView解决刷新时Item中的图片出现闪动

问题描述:

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

 

ListView解决刷新时Item中的图片出现闪动