我在開始android開發時(以及一般的初學者開發)學到的第一件事情之一是UI除了主UI線程之外不應該(並且在許多情況下不能)被任何其他線程更新。在AsyncTask doInBackground()中更新進度條?
我有一個AsyncTask在doInBackground()中移動一堆文件。我有一個代表用戶的進度條。
對於這個問題(主要是由於懶惰),我決定在doInBackground()方法/線程中嘗試progressBar.setProgress([更新的進度]),令我驚訝的是,它工作正常。
但是,這似乎違背了我學到的習俗。我知道AsyncTask有一個onProgressUpdate()或其他的,但它讓我感到困惑,我不確定是否值得切換,因爲當前的實現似乎工作正常。
我不應該在後臺線程中更新進度條嗎?
你的意思是'publishProgress()'而不是'refreshProgress()'? –
是的,他的意思是publishProgress –