Android中的ListView適配器有兩個方法用于刷新數據,分別是notifyDataSetInvalidated()和notifyDataSetChanged()。
notifyDataSetInvalidated()方法用于通知適配器數據集已經無效,并需要重新加載數據。當調用此方法時,ListView將會重繪所有的子項,并調用適配器的getView()方法重新獲取數據。這個方法通常在數據集發(fā)生結構性變化時使用,比如數據集被清空或者重新加載。這個方法將會重置ListView的狀態(tài),使其回到初始狀態(tài)。
notifyDataSetChanged()方法用于通知適配器數據集已經改變,需要刷新顯示的數據。當調用此方法時,ListView將會重新繪制顯示的子項,并調用適配器的getView()方法重新獲取數據。這個方法通常在數據集發(fā)生內容上的變化時使用,比如某一項數據發(fā)生改變。這個方法不會重置ListView的狀態(tài),只會刷新數據。
綜上所述,notifyDataSetInvalidated()方法用于重繪ListView并重新加載數據,而notifyDataSetChanged()方法用于刷新ListView的顯示數據。兩個方法的使用場景不同,根據需要選擇合適的方法來刷新數據。