2 回答

TA貢獻(xiàn)1719條經(jīng)驗(yàn) 獲得超6個(gè)贊
您在啟動(dòng)后臺(tái)工作程序和設(shè)置其最終結(jié)果之間存在競爭條件。
通過設(shè)置斷點(diǎn),您只是在等待足夠長的時(shí)間來完成該過程。
您只需要FinalRes
通過某種方式等待設(shè)置即可。如果沒有看到你的BackgroundWorker
類的代碼,就不可能說如何最好地做到這一點(diǎn)。

TA貢獻(xiàn)1808條經(jīng)驗(yàn) 獲得超4個(gè)贊
像這樣嘗試:
BackgroundWorker backgroundWorker = new BackgroundWorker( this);
backgroundWorker.execute("Names");
while(backgroundWorker.getStatus() != AsyncTask.Status.FINISHED) // While the status is different from "FINISHED" you wait for the task to finished
Thread.sleep(100)
res = backgroundWorker.FinalRes;
添加回答
舉報(bào)