listview调用notifyDataSetChanged()后不刷新界面

来源:互联网 发布:淘宝视频开放平台 编辑:程序博客网 时间:2024/05/29 04:26

listview的item数量有改变时调用notifyDataSetChanged()后不刷新界面

解决方法:

调用notifyDataSetChanged()后调用notifyDataSetInvalidated ()

public void notifyDataSetChanged ()与notifyDataSetInvalidated()的区别:

1) notifyDataSetChanged()

notifyDataSetChanged方法通过一个外部的方法控制如果适配器的内容改变时需要强制调用getView来刷新每个Item的内容。

该方法内部实现了在每个观察者上面调用onChanged事件。每当发现数据集有改变的情况,或者读取到数据的新状态时,就会调用此方法。

  2) public void notifyDataSetInvalidated ()

该方法内部实现了在每个观察者上面调用onInvalidated事件。每当发现数据集监控有改变的情况,比如该数据集不再有效,就会调用此方法。

 notifyDataSetInvalidated(),会重绘控件(还原到初始状态)

notifyDataSetChanged(),重绘当前可见区域



0 0