2013-03-05 38 views
0

我正在使用遊標適配器支持的拖放列表視圖。爲了維護數據庫,我在拖動視圖時更新了數據庫條目的位置。爲此,我使用SQLiteDatabase.rawQuery的常規方法,然後在更新操作完成時調用notifyDataSetChanged來調用cursoradapter的bindview方法重新定位條目。然而,這卻滯後於用戶界面,導致應用程序無法響應。我試圖使用我的數據庫的單個實例將所有數據庫操作移動到AsyncTask。由於線程正在排隊並且listview必須等到每個asynctask完成,這也是滯後於我的UI。爲拖放列表視圖執行更新查詢

我的ListView一直在等待查詢完成。

該方案的正確執行方式是什麼?使用CursorLoader會給我一個活潑的用戶界面嗎?

我見過很多應用程序有效地進行拖放操作,其中大多數應用程序都使用陣列適配器。但我需要更新我的數據庫,因爲listview中的輸入被移動。

請告訴我一個有效的方法...

編輯:好吧,我重新實現結構,因爲我剛剛發現的異步任務,甚至沒有排隊up.They是併發製作。

要問的正確問題應該是如何按FIFO順序對數據庫查詢進行排隊?任何有關指針?

問候, Parvaz巴斯卡爾

回答

0

我終於我的FIFO通過實現線程和只使用一個處理程序後我的查詢調用數據庫。這排隊我的數據庫查詢,我事先更新我的用戶界面...所以我不必等待我的查詢完成。

非常感謝所有我發現的鏈接都是SO鏈接。