如何从另一个片段中删除当前添加的子片段?

时间:2017-08-23 07:39:25

标签: android android-fragments

我有3个片段,如片段A,片段B,片段C.最初片段A加载,片段A加载片段B,同样片段B再次添加片段C.现在当我点击片段C中的背压或任何buttoms时,它直接显示片段A.为什么它没有显示片段B?我只是想删除当前的片段c并显示片段b,但请帮助我。我的代码是什么。

{{1}}

3 个答案:

答案 0 :(得分:2)

您正在调用活动片段管理器来弹出Backstack,但似乎这个管理器"传播"流行儿童经理

更改您的onClick代码,如下所示

button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            FragmentManager manager = getFragmentManager();
             manager.popBackStackImmediate();
        }
    });

答案 1 :(得分:0)

在您的代码中,您没有向backstack添加任何片段,您只是将片段添加到活动中,因此您需要更改此行: - fragmentTransaction.addToBackStack(null); with this : - fragmentTransaction.addToBackStack("使用您的唯一字符串");

将此添加到您的两个片段事务中。 然后提交。

答案 2 :(得分:0)

使用此

getFragmentManager().popBackStackImmediate();

代替

FragmentManager manager = getActivity().getSupportFragmentManager();
manager.popBackStackImmediate();

bacause,它应该仅从活动中使用,而不是从片段中使用。