如何用android 4.0.4中的另一个片段替换片段

时间:2015-03-18 08:58:46

标签: android-fragments

我尝试通过按下按钮将片段替换为另一个片段。 这是 android 4.1.2 上的 Successfull ,但 失败 > android 4.0.4 代码是:

if(f13!=null)
                                {
                                    transaction.remove(f13);




                                    transaction.replace(R.id.place,f10,"f10");
                                    transaction.commit();
                                }

其中f13和f10是片段。 我添加了这个声明:

transaction.addBackstack(null);
transaction.replace(R.id.place,f10,"f10");
transaction.commit();

应用程序正在运行,当我在移动设备中点击后退按钮返回f13时,片段f10在 f13下显示。 我希望当我点击后退按钮关闭应用程序。

1 个答案:

答案 0 :(得分:0)

让我说清楚,您想要管理 backstack ,以便当您点击后退按钮时,您的应用应该关闭。对于该问题,请使用FragmentManager类的 popBackStack 方法。使用伪代码的代码示例:

Fragment newFragment = new ExampleFragment();    // "f10" fragment
FragmentManager manager = getActivity().getSupportFragmentManager();

FragmentTransaction transaction = manager.beginTransaction();
transaction.replace(R.id.place,f10, newFragment);
transaction.commit();

manager.popBackStack();

如果要删除堆栈中的所有项目:

manager.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);

我从未尝试过POP_BACK_STACK_INCLUSIVE。请让我们发布。祝你好运,Tommy Kwee