从堆栈中弹出特定片段并删除其他人 [英] pop specific fragment from stack and remove others
本文介绍了从堆栈中弹出特定片段并删除其他人的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我如何从堆栈中弹出特定片段并从片段中移除其他人?
例如这些是我的片段,我在E中知道。
< - > A-> B - > C - > D - > E
想从E回到B并清除C和D.
我该怎么做?
解决方案
您可以在每个片段中添加一个标记,同时将它们添加到backstack中,然后从backstack中弹出片段,直到没有达到您想要的标记的片段。
FragmentManager fm = getFragmentManager();
for(int i = fm.getBackStackEntryCount() - 1; i> 0; i--){
if(!fm.getBackStackEntryAt(i).getName()。equalsIgnoreCase (tagname)){
fm.popBackStack();
}
else
{
break;
}
}
how I can pop specific fragment from stack and remove others from a fragment? for example these are my fragments and I'm in E right know.
A-> B -> C -> D ->E
wanna back from E to B and Clear C and D. How I can do this?
解决方案
You can add a tag to each fragment while adding them to the backstack and then popfragment from backstack till the fragment with the tag you want is not reached.
FragmentManager fm = getFragmentManager();
for (int i = fm.getBackStackEntryCount() - 1; i > 0; i--) {
if (!fm.getBackStackEntryAt(i).getName().equalsIgnoreCase(tagname)) {
fm.popBackStack();
}
else
{
break;
}
}
这篇关于从堆栈中弹出特定片段并删除其他人的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文