1 回答

TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超3個(gè)贊
你在 AsyncTask 中實(shí)例化了itiesAdapter,它在后臺(tái)運(yùn)行,也就是說,你永遠(yuǎn)不知道它什么時(shí)候開始運(yùn)行或結(jié)束。如果您嘗試在 Activity 中的其他任何地方訪問變量 cityAdapter,那么itiesAdapter 可能已經(jīng)實(shí)例化,也可能尚未實(shí)例化。因此,您可以在 onPostExecute 方法中執(zhí)行與 cityAdapter 相關(guān)的所有內(nèi)容,或者等待變量被實(shí)例化后再嘗試使用它。
如果您確實(shí)需要等待 onPostExecute 完成才能在您的 Activity 中執(zhí)行其他內(nèi)容,那么您應(yīng)該實(shí)現(xiàn)onProgressUpdate以通知用戶您的 Activity 正在加載某些內(nèi)容。
你根本不需要做一件事。您正在創(chuàng)建一個(gè)線程,然后在其中運(yùn)行 AsyncTask。這是完全沒有必要的,因?yàn)?AsyncTask 已經(jīng)為您創(chuàng)建了一個(gè)線程,這就是它存在的原因。所以,不要使用“new Thread()”。
添加回答
舉報(bào)