当AdapterView中的数据有所改变时,可以通过Adapter的notifyDataSetInvalidated()或notifyDataSetChanged()方法来更新AdapterView的内容。
notifyDataSetInvalidated():
当adapter中的数据集要整个更换时,你需要调用此方法来重绘控件。
该方法内部实现了在每个观察者上面调用onInvalidated事件。每当发现数据集监控有改变的情况,比如该数据集不再有效,就会调用此方法。
//list是adapter的数据集,这里把整个list给更换了
list = new ArrayList<Map<String,String>>();
adapter.notifyDataSetInvalidated();
notifyDataSetChanged():
当adapter中数据集的内容有变化时,如增删改了数据集中的一些内容,则你需要调用此方法来重绘当前可见区域。
该方法内部实现了在每个观察者上面调用onChanged事件。每当发现数据集有改变的情况,或者读取到数据的新状态时,就会调用此方法。
List.remove(id); //在OnItemClickListener中移除了数据集中的某一行
Adapter.notifyDataSetChanged();
本文介绍了在Android开发中如何使用Adapter的notifyDataSetInvalidated()和notifyDataSetChanged()方法来更新AdapterView的内容。notifyDataSetInvalidated()用于当数据集整体更换时刷新视图;notifyDataSetChanged()则用于数据集部分内容改变时刷新视图。
1万+

被折叠的 条评论
为什么被折叠?



