2012-03-01 61 views
1

我正在開發一個Android應用程序,它需要使用AsyncTask進行網絡連接。我已經執行了doInBackground方法並將返回值傳遞給onPostExecute方法。我想從onPostExecute方法返回一些值回調用它的函數(我knw,onPostExecute在主線程中執行)。這可能嗎?是不是像onPostExecute返回類型必須是void?如果不是,你建議什麼?AsyncTask中的onPostExecute方法的返回類型是否無效?

在此先感謝 Maneesh

回答

1

如果你想的AsyncTask返回將被直接捕捉到一個值,你需要一個阻塞調用,這違背的AsyncTask的目的。

你應該做的是擴展AsyncTask或包裝它,然後創建一個包含你想返回的值的字段,並在onPostExecute中設置它。然後在你的代碼中,保存對AsyncTask的引用,並在任務完成後檢查該值。

+0

謝謝JRL ..但是你的包裝AsyncTask是什麼意思..你怎麼做?你能詳細闡述一下嗎? – ManJan 2012-04-04 05:11:48

相關問題