2013-09-30 171 views
2

我有一個活動,顯示一個列表視圖。在活動中,我有一個AsyncTask(在這裏命名爲AsListView)從Internet獲取值並在listview的每個項目中填充一些信息。工作正常。AsyncTask暫停和恢復

現在我在ActionBar中創建了一個按鈕來顯示街景中的一個圖像。要做到這一點,我已經實現了另一個AsyncTask(在這裏命名爲AsImage)從Google獲取圖像並顯示在DialogFragment中,但需要等待所有AsListView線程的執行。它花費很長時間取決於列表中的項目數量。

爲了快速執行AsImage,我取消了所有的AsListView任務,但這對我來說並不好(用戶丟失信息)。理想的解決方案是將AsListView任務設置爲在AsImage執行時等待。當AsImage完成時,我將AsListView任務設置爲繼續執行。但我知道這是不可能處理的AsynkTasks的執行控制.....

一些解決方案?

回答

0

您可以嘗試使用CountDownLatch同步AsyncTask

否則,如果你願意,你可以使用Thread!而非AsyncTask S和設置它們的優先級,但有一個原因的Android取得了AsyncTask類,所以我建議你使用它。