在Honeycomb中,引入了Loader API作爲通過在後臺線程上執行繁重操作來嚮應用程序提供數據的正確方法。在我的應用程序中,我正在努力將所有Cursor
s替換爲返回Cursor
s的Loader
s。由於Cursor.requery()
現在已被折舊,因此建議您只需撥打restartLoader
,並允許該工作在後臺線程中再次完成,然後在onLoadFinished
中返回時返回changeCursor
。如何在使用新的Loader API時保持ListView位置?
所有這些奇妙地工作,除了當我想要重新查詢數據時,ListView不維護它的滾動位置,使用Cursor.requery()
這用於工作,因爲它是具有更新數據的相同Cursor實例。
如何在不失去滾動位置的情況下刷新我的Loader?
你可以使用'getScrollX你的滾動位置()'和'getScrollY()'在刷新之前緩存它,然後再次手動設置它。我不確定這是否會導致視覺閃爍或其他不愉快。 : - / –