Ken*_*nji 10 stack android fragment
如何从堆栈中弹出特定片段并从片段中删除其他片段?例如,这些是我的碎片,我在E中知道.
A-> B - > C - > D - > E.
想从E回到B和清除C和D.我怎么能这样做?
Smi*_*vda 13
您可以将标记添加到每个片段,同时将它们添加到backstack,然后从backstack进行popfragment,直到找不到包含所需标记的片段.
FragmentManager fm = getFragmentManager();
for (int i = fm.getBackStackEntryCount() - 1; i > 0; i--) {
if (!fm.getBackStackEntryAt(i).getName().equalsIgnoreCase(tagname)) {
fm.popBackStack();
}
else
{
break;
}
}
Run Code Online (Sandbox Code Playgroud)
当你在以下时使用可以调用下面的函数Fragment E:
getFragmentManager().popBackStack("tag", 0);
Run Code Online (Sandbox Code Playgroud)
在这里,tag是因为标签通过同时增加字符串fragment B来backstack.
| 归档时间: |
|
| 查看次数: |
6453 次 |
| 最近记录: |