我正在開發一款android應用程序,我需要下載一些圖像並開始幻燈片放映。 爲了下載我使用AsynTask的圖像,只要圖像被下載,我正在使用一個處理程序來啓動幻燈片放映。但是在方向改變期間,我無法控制處理程序。因爲處理程序對象是用AsyncTask類定義的。Android AsyncTask with Handler
的下面是我所做的粗糙情形:
類A延伸活動
B類異步=新ClassB的(本);
async.execute();
B類延伸的AsyncTask實現OnPageChangeListener,OnTouchListener
onPreExecute()-------沒有在該方法中
doInBackground -------我在這裏下載圖像
onPostExecute ---------處理器從這裏開始並運行每5秒實現幻燈片放映
現在的問題:
在方向更改期間,我已確保AsyncTask僅被調用一次,否則它會再次下載圖像,因爲此方向更改期間處理程序未運行。
第一個啓動的處理程序對象,它始終運行,但更改不反映在屏幕上。
我正在考慮通過使用AsyncTask來下載圖像,並且一旦下載完成,ClassA應該獲得焦點並且處理程序應該在ClassA中實現(僅當圖像被下載時)。
在B類中創建一個接口方法,並在下載完成之後..(在onPostExecution中)告訴下載完成的接口。並在您的下載完成監聽器中完成幻燈片放映工作。 – 2012-07-05 10:23:37
我沒有得到它,你能給我粗略的例子 – krisDrOid 2012-07-05 10:25:14
_During方向變化我已確保AsyncTask只被調用一次,否則它再次下載圖像,因爲這個處理程序沒有運行在方向change._你最好在這裏解釋更多(可能有一些代碼示例),讓我們更清楚地瞭解你的實現。 – yorkw 2012-07-05 10:32:16