如何从当前片段中删除所有以前的片段,除了当前片段和第一片段?

Avi*_*iva 6 android android-fragments android-activity

我有像这样的Fragment堆栈

F1 -> F2 -> F3 -> F4 -> F5
Run Code Online (Sandbox Code Playgroud)

现在我需要删除F2,F3,F4片段.

我需要如果我按下F5片段的后退按钮,它应该转到F1.

注意:我没有从活动中更改片段片段.从片段改变片段.

Roh*_*rya 7

对破坏的Fragment F5明确Back Stack高达F2.

尝试这样的事情:

public你的方法MainActivity:

public void clearBackStackInclusive(String tag) {
     getSupportFragmentManager().popBackStack(tag, FragmentManager.POP_BACK_STACK_INCLUSIVE);
}
Run Code Online (Sandbox Code Playgroud)

现在在你的F5片段中:

@Override
public void onDestroy() {
   super.onDestroy();
   ((MainActivity)getActivity()).clearBackStackInclusive("tag"); // tag (addToBackStack tag) should be the same which was used while transacting the F2 fragment
}
Run Code Online (Sandbox Code Playgroud)

参考