从backstack Android中删除单个片段

时间:2016-07-10 02:05:51

标签: android android-fragments back-stack fragment-backstack

当我有多个片段时,我正在努力删除我动态添加的单个片段。

例如: MainActivty 给FragA充气 给FragB充气 膨胀FragC

现在我该如何删除片段A?

使用popBackStack杀死所有三个,而getSupportFragmentManager().beginTransaction().remove(TAG).commit();似乎也做同样的事情

你打算如何正确地做到这一点?我试图让多个后台持续超过标签

2 个答案:

答案 0 :(得分:0)

试试这个......

获取当前片段标题&检查片段A或不。

获取当前片段标题以使用getTitle()方法并检查

  if(getTitle().toString.equals(fragment A){
         // do 
    }else{
         // do 
    }

答案 1 :(得分:0)

你能试试吗..

例如。使用片段名称作为标记:

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); 

这应该仅使用特定标记弹出片段。