Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/184.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 打开特定片段时清除framgnetBackStack_Android_Android Fragments - Fatal编程技术网

Android 打开特定片段时清除framgnetBackStack

Android 打开特定片段时清除framgnetBackStack,android,android-fragments,Android,Android Fragments,当我打开一个特定的碎片时,我正试图清除后面的障碍。 让我们假设我有fragmentfoo和fragmentbar,我可以在MainActivity中打开它们。此外,我还可以从Foo或Bar打开其他片段。 这是一个简单的方案: 主要活动-Foo->Foo1->Foo2->Foo3 主活动-酒吧->酒吧1->酒吧2->酒吧3 另外,我有一个菜单,所以我可以从任何地方访问Foo和Bar片段:例如,可以从Foo2或Bar3或任何其他片段访问它。 问题是,当我在打开这个片段后输入Foo或Bar时,我想清除

当我打开一个特定的碎片时,我正试图清除后面的障碍。 让我们假设我有fragmentfoo和fragmentbar,我可以在MainActivity中打开它们。此外,我还可以从Foo或Bar打开其他片段。 这是一个简单的方案:

主要活动-Foo->Foo1->Foo2->Foo3

主活动-酒吧->酒吧1->酒吧2->酒吧3

另外,我有一个菜单,所以我可以从任何地方访问Foo和Bar片段:例如,可以从Foo2或Bar3或任何其他片段访问它。 问题是,当我在打开这个片段后输入Foo或Bar时,我想清除backbackback

主要活动-Foo->Foo1->Foo2->Foo3->Bar

(清除Backback,这样back按钮将关闭应用程序)

我试图通过这样做来关闭所有碎片:

@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);
    FragmentManager fm = getActivity().getSupportFragmentManager();
    for(int i = 0; i < fm.getBackStackEntryCount(); ++i) {
        fm.popBackStack();
    }
}

但它也不起作用。

在打开任何片段之前,您只能在“活动”中清除backstack。

请您参考一个片段。我给出了同样的答案。你的方法产生了同样的结果。
getSupportFragmentManager().popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);