【问题标题】:How to remove Fragments from backstack如何从 backstack 中删除 Fragments
【发布时间】:2015-06-09 09:45:53
【问题描述】:
有一个包含 5 个片段的 Activity(向导)。
StartFrag -(start)-> Frag1 -(next)-> Frag2 -(next)-> SubmitFrag
-(submit)-> SuccessFrag.
在 Success 片段上点击 SubmitMore 按钮后,我想从后台删除 Frag1、Frag2 和 SubmitFrag 并返回 StartFrag。该怎么做?
【问题讨论】:
标签:
android
fragment
back-stack
fragment-backstack
【解决方案1】:
你可以试试这个
FragmentManager fm = getFragmentManager();
int count = fm.getBackStackEntryCount();
for(int i = 0; i < count; ++i) {
fm.popBackStack();
}
【解决方案2】:
试试这个
mFragmentManager.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
【解决方案3】:
你可以试试这个
FragmentManager fm = getFragmentManager();
FragmentTransaction ft=fm.beginTransaction();
ft.add(R.id.group,startFrag,"");
ft.addtoBackStack("startFrag");
ft.commit();
enter code here
// add other 4 fragments here
when you want to go startFrag on click of some button you can try below code.
fm.popBackStack("startFrag",0);
//where startFrag is the tag which you specify when you called
//addtoBackStack("startFrag")