問題,我有四個片段:A,B,C,D。現在我從A移動 - >乙:所以我的代碼將回到按片段的Android
從A到B
getActivity().getSupportFragmentManager()
.beginTransaction()
.replace(R.id.content_frame, new B())
.addToBackStack("A")
.commit();
現在從B到C所以代碼將是
getActivity().getSupportFragmentManager()
.beginTransaction()
.replace(R.id.content_frame, new C())
.addToBackStack("B")
.commit();
現在從C到d。但我不想在後臺包含C,因爲後退我不想要C片段顯示。
getActivity().getSupportFragmentManager()
.beginTransaction()
.replace(R.id.content_frame, new D())
.commit();
現在,當我按下返回鍵,將完美高達A.如果我再次重複同樣的過程現在的工作。現在再次按下From D Fragment,我將直接發送A片段而不是B片段。你能否弄清楚我在上面的代碼中犯的錯誤?
@HareshChhelana這不是問題,問題顯示沒有調用加回棧。問題在於片段交易的工作方式。閱讀此答案http://stackoverflow.com/questions/12529499/problems-with-android-fragment-back-stack – Zach
@ Zach ..其實我沒有得到該鏈接 –
是的它沒有定義一個明確的答案只是給它是如何工作的概述。我有類似的麻煩,基本上不得不定義我自己的backstackchangelistener,它定義了什麼發生在後面的堆棧調用 – Zach