我有一個3片段的活動。第一個片段不會添加到後臺堆棧中。所以,我的導航是:在活動中跳過片段?
A - >乙 - > C,或 A - >ç
我實現onNavigateUp
從堆棧中取出碎片和它的作品。
我還在操作欄上有一個按鈕,它清除碎片中的信息並切換到第一個碎片。
如果我在第三個片段中,然後單擊該按鈕轉到第一個片段,將片段替換爲足以從後臺堆棧中刪除第二個和第三個片段,或者我也應該調用getFragmentManager().popBackStack()
?
編輯
我加入這個代碼移回第一個片段:
getFragmentManager().popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
switchFragment(fragmentA, false);
fragmentA.clear();
而且所有switchFragment所做的是:
protected void switchFragment(Fragment fragment, boolean addToBackStack) {
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.container_fragments, fragment, fragment.getClass().getSimpleName());
if (addToBackStack) {
ft.addToBackStack(fragment.getClass().getSimpleName());
}
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
ft.commit();
currentFragment = fragment;
}
然而,即使fragmentA.clear()
被稱爲,textviews不清除。
是否因爲片段仍然創建?