[英]Remove single fragment from backstack Android
当我有多个片段时,我正在努力删除我动态添加的单个片段。
例如:MainActivty Inflate FragA Inflate FragB Inflate FragC
现在我如何删除片段A?
使用popBackStack会杀死所有三个和getSupportFragmentManager().beginTransaction().remove(TAG).commit();
似乎也做同样的事情
你打算如何正确地做到这一点? 我试图让多个反向堆栈保持在标签上
尝试这个...
获取当前片段标题并检查片段A或不。
获取当前片段标题以使用getTitle()方法并检查
if(getTitle().toString.equals(fragment A){
// do
}else{
// do
}
你能试试这个..
例如。 使用片段名称作为标记:
FragmentA fragment = new FragmentA();
String backStateName = fragment.getClass().getName();
添加到backstack:
FragmentTransaction ft = manager.beginTransaction();
ft.replace(R.id.content_frame, fragment);
ft.addToBackStack(backStateName);
ft.commit();
大跌眼镜:
getSupportFragmentManager().popBackStackImmediate (backStateName, 0);
这应该只使用特定标记弹出片段。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.