2011-06-28 35 views
0

想一想:我有Activity,在onCreate()我啓動AsyncTask來加載它的內容。我遵循this sample。現在我的問題是:我想使用AsyncTask在該活動中下載文件。但是我不知道如何讓現有的AsyncTask完成各種任務。 如果任何人有同樣的問題,我將不勝感激您的幫助。在活動中使用AsyncTask來執行多個任務

+0

您的實際問題是什麼?爲什麼你不能把你的文件下載代碼放在你有的異步任務裏面? – Haphazard

+0

你的AsyncTask的目的是什麼?你爲什麼使用特定的樣本? – Marmoy

+0

當第一次啓動活動時,我需要從遠程服務器加載它的內容。然後當用戶點擊按鈕時,我需要從服務器加載文件。我需要在單獨的線程中完成所有工作,並且能夠處理屏幕旋轉。 –

回答

1

好了,我就成功了讓它再次調用...你必須首先將你的類初始化爲null(int Activity)。

MyAsyncTask asyncTask = null; 

,然後把它放在一個try ... catch塊:

asyncTask = (MyAsyncTask) new MyAsyncTask().execute(params); 

你interrested有關的另一件事是,你要運行的differenc方法......嗯,我想做同樣的事情,但我沒有時間寫這篇文章,但我在下班回家的路上想到了它。

我覺得你的類擴展的AsyncTask應該是這樣的:

class MyAsyncTask extends AsyncTask<Object, Object, Object> { } 

創建您的AsyncTask一些變量或的ArrayList,並做了重寫onPreExecute的決定()方法,你必須做一個開關,或者一些如果。對被覆蓋的doInBackground()進行調用/處理,獲得結果並在覆蓋onPostExecute()方法中處理它。

,我不知道,如果這條線的工作,因爲我已經沒有時間去嘗試它,我真的想過這個問題,如何... :)

但我希望思想有助於在最小! :)

1

您必須使用不同的doInBackground方法實現兩個單獨的AsyncTasks,或者將文件下載添加到現有的方法。

請記住,(從文件):

任務只能執行一次(如果第二試圖執行一個將引發異常)