有人可以解释一下以下有什么区别吗?
notifyDataSetChanged();
notifyDataSetInvalidated();
invalidateViews();
invalidateData();
我已阅读过该文档,但不确定实际差异是什么。
答案 0 :(得分:1)
他们是如此不同。当您在notifyDataSetChanged()
内进行了一些更改并且当前数据仍然有效时,系统会调用Adapter
。当发生某些事件导致当前notifyDataSetInvalidated()
不再可用且观察者不应期待任何更新时,会调用Adapter
。
根据文件:
public void notifyDataSetInvalidated()
在API级别1中添加
通知附加的观察者基础数据不再有效或可用。调用后,此适配器不再有效,不应报告进一步的数据集更改。