繁体   English   中英

从backstack Android中删除单个片段

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM