有沒有辦法在AsyncTask的doinbackground()中執行UI任務?我很清楚在onPostExecute方法中執行它更好。但在我的情況下,因爲我需要使用可重複使用的警報,能夠訪問我的doinbackground中的用戶界面將爲我節省很多時間。也就是說,我需要調整46個地方的代碼,但能夠在doinbackground中做到這一點將需要在一個地方進行更改。在Android中的doinbackground()中執行UI任務
在此先感謝
有沒有辦法在AsyncTask的doinbackground()中執行UI任務?我很清楚在onPostExecute方法中執行它更好。但在我的情況下,因爲我需要使用可重複使用的警報,能夠訪問我的doinbackground中的用戶界面將爲我節省很多時間。也就是說,我需要調整46個地方的代碼,但能夠在doinbackground中做到這一點將需要在一個地方進行更改。在Android中的doinbackground()中執行UI任務
在此先感謝
希望這將解決您的問題
onPreExecute() {
// some code #1
}
doInBackground() {
runOnUiThread(new Runnable() {
public void run() {
// some code #3 (Write your code here to run in UI thread)
}
});
}
onPostExecute() {
// some code #3
}
非常感謝這個例子:) – Lincy
任何時候,如果這有助於upvote ....開心編碼:) –
比更新從onPostExecute()
UI其他,有2種方式來更新UI:通過實施runOnUiThread()
onProgressUpdate()
FYI
doInBackground()
, onProgressUpdate()
- 只要您想更新doInBackground()
的任何內容,您只需使用publishProgress(Progress...)
發佈一個或多個進度單元,它將ping onProgressUpdate()
以在UI線程上更新。
你可以利用onProgressUpdate
而
http://developer.android.com/reference/android/os/AsyncTask.html。 – Raghunandan
當你創建這個問題並在這裏發佈時,你可以很容易地編寫一些代碼並檢查發生了什麼。 – stinepike
你有什麼嘗試? –