我有一個在其中的動態片段的活動。我需要的是異步執行片段被刪除,但remove(myFragment).commit()
後運行一些代碼和什麼時候,這個片段removed.Here我不能知道是我的代碼:如何等待,直到一個片段被刪除
final FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.remove(myFragment).commit();
//wait until the fragment is removed and then execute rest of my code
從文檔:
public abstract int commit()
計劃提交此事務。承諾不立即發生 ;它將被安排在主線程上工作,在下一次線程準備就緒時完成 。
什麼'同步(m鎖)'是,在你的代碼?如果可能,請添加更多的代碼。謝謝 –
它與刷新或不是asyncktask有關。例如,如果片段被解開,但後臺任務在此狀態下完成,它會嘗試更新視圖,例如textView.setText(newStringValue)。有了這個條件,如果mReady是假的,避免這種行爲。 –
您不需要同步,因爲在同一線程上調用onDetach和onPostExecute –