0
我目前正面臨一個問題:我需要等待我的請求的結果才能返回值。這裏是我FragmentDispatcher的類FragmentDispatcher中任務/服務的等待結果
public static Fragment getFragment(){
switch (value) {
case "1":
// returns a fragment
break;
case "2":
// returns another fragment
break;
case "3":
// returns the correct fragment according to an async task or a Service response value
break;
}
// returns default fragment
}
我的情況的樣品第三:我需要等待任務或服務,以完成到返回根據異步任務的響應值的片段(以事實上,這是一個布爾值)。由於異步任務是異步的,我的函數立即返回默認片段。
有人可以幫忙解決嗎?
等待結果異步請求通常會使首先使請求異步的目的失效。例如,如果你在uI線程上嘗試,你會得到一個Application Not Responding錯誤。你將不得不改變你的設計。例如,這個方法可以返回null來表示「我不知道什麼片段」,而異步任務的結束可能會觸發某種重試。這可能是一個太大的變化,覆蓋Stack Overflow答案(或評論!) –
感謝您的評論,我同意使用異步任務是一種非常糟糕的方式。我還提到了服務或意向服務呢?感謝onEventMainThread方法,有什麼方法可以用我們捕獲的EventBus檢索結果嗎? – StevenTB