如果移除FragmentManger裡的BackStack entry
在android版本時常的更新的現今,許多程式的寫程也開始有些轉變,之前就有提到目前官方已經開始希望開發者用fragment來取代activity。
所以在所難免常常會有在fragment之間切換來切換去,並且加入到FragmentManager的backstack,以方便按下back按鍵時,可以返回前一個fragemnt。
但是如果為了好的使用者體驗,希望在程式運作到某一個情境時,清除所有的back stack entry,讓使用者不要在按下back按鍵時,發生一些悲劇體驗的話,你可以利用程式碼來清除back stack entry
// In your FragmentActivity use getSupprotFragmentManager() to get the FragmentManager. // Clear all back stack. int backStackCount = getSupportFragmentManager().getBackStackEntryCount(); for (int i = 0; i < backStackCount; i++) { // Get the back stack fragment id. int backStackId = getSupportFragmentManager().getBackStackEntryAt(i).getId(); fm.popBackStack(backStackId, FragmentManager.POP_BACK_STACK_INCLUSIVE); } /* end of for */
只要服用上述程式碼,就可以透過程式碼來移除back stack 如果想要看更多的參考的話,可以參考stackoverFlew的這份帖子……












