Android中的ListView适配器有两个方法用于刷新数据,分别是notifyDataSetInvalidated()和notifyDataSetChanged()。
1. notifyDataSetInvalidated()方法用于通知适配器数据集已经无效,并需要重新加载数据。当调用此方法时,ListView将会重绘所有的子项,并调用适配器的getView()方法重新获取数据。这个方法通常在数据集发生结构性变化时使用,比如数据集被清空或者重新加载。这个方法将会重置ListView的状态,使其回到初始状态。
2. notifyDataSetChanged()方法用于通知适配器数据集已经改变,需要刷新显示的数据。当调用此方法时,ListView将会重新绘制显示的子项,并调用适配器的getView()方法重新获取数据。这个方法通常在数据集发生内容上的变化时使用,比如某一项数据发生改变。这个方法不会重置ListView的状态,只会刷新数据。
综上所述,notifyDataSetInvalidated()方法用于重绘ListView并重新加载数据,而notifyDataSetChanged()方法用于刷新ListView的显示数据。两个方法的使用场景不同,根据需要选择合适的方法来刷新数据。