0
我想等到我的AsynTask
完成後再繼續。 但狀態始終顯示爲RUNNING。 AsyncTask
信號如何返回已完成? 爲什麼我的while循環是無止境的?我認爲一旦在任務 上調用,狀態就會變爲FINISHED。如何從非活動類別獲得AsyncTask完成狀態
private void methodOne(Context context) {
MyNewTask getMyTask = null;
try {
getMyTask = new MyNewTask(context, null, null, param1);
getMyTask.execute(getUrl());
while(getResourceTask.getStatus().equals(AsyncTask.Status.RUNNING)){
Log.i("log", "STATUS : " + getMyTask.getStatus());
}
} catch (Exception e) {
e.printStackTrace();
}
}
感謝Tomasz,我的AsyncTask在它自己的一個單獨的類上......它不是子類。我怎樣才能讓它回到它已完成的調用類? – user1518485
這與課程無關。它與線程有關。如果while循環在主線程上運行(不在另一個'AsyncTask'或'Thread'中),它會阻塞這個主線程。 'OnPostExecute'總是在這個主線程中調用,所以它也會被阻止運行。我已經發布了你應該如何解決這個問題 –