有什麼辦法,如何清除backStack的支持FragmentManager沒有調用存儲片段中的onCreateView()?如何清除支持FragmentManager的backStack?
我明白片段lyfe循環,並在彈出時調用onDestroyView()和onCreateView()。 http://developer.android.com/guide/components/fragments.html#Creating
而且我知道如何流行從堆棧中的所有片段,片段
mFragmentManager.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
或
for(int i = 0; i < mFragmentManager.getBackStackEntryCount(); ++i) {
mFragmentManager.popBackStack();
}
,但兩種方式都呼籲onCreateView()等LYFE週期方法直到onDestroyView()和onDestroy()。
但有沒有什麼辦法,如何明確這個只從onDestroyView()調用而不是從onCreateView()(在片段內)的後臺堆棧?
或者有什麼辦法如何做清除以前的片段替換交易?
例如,我想清楚backstact我做交易前:
FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
fragmentManager.beginTransaction().replace(R.id.content, fragment).commit();
您的目標是避免重新創建片段視圖,因爲它們彈出堆棧,因爲您知道當彈出完成時,最終片段狀態將被「銷燬」? –
是的,這是我想要的 – Kikju