pop specific fragment from stack and remove others(从堆栈中弹出特定片段并删除其他片段)
问题描述
如何从堆栈中弹出特定片段并从片段中删除其他片段?例如,这些是我的片段,我知道我在 E 中.
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
A-> B -> C -> D ->E
想从 E 回到 B 并清除 C 和 D.我该怎么做?
wanna back from E to B and Clear C and D. How I can do this?
推荐答案
你可以为每个fragment添加一个tag,同时将它们添加到backstack中,然后从backstack中popfragment,直到没有到达你想要的tag的fragment.
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;
}
}
这篇关于从堆栈中弹出特定片段并删除其他片段的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!