如何在Android中的Fragment OnBackPress上向后移动4步



我有4个片段。阿 乙 中 德

我只在后台堆栈中保留了片段 A。我从片段 A -> B -> C> D

现在在片段 D 中的反向按下时,我应该重定向到片段 A,但现在仪式 A 和 D 片段一起显示在屏幕上。如何隐藏片段 D?

如果你弹出堆栈怎么办..添加片段 A 并启动任何片段。

例如:

Fragment fragmentA = new FragmentA();
Fragment fragmentD = new FragmentD();
FragmentManager manager = getFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
manager.popBackStack();
transaction.addToBackStack(fragmentA.getClass().getName());
transaction.replace(R.id.frame_container, fragmentD);
transaction.commit();

第 1 步:在包含框架布局的主活动中编写代码 它的名字是碎片容器

 getSupportFragmentManager().beginTransaction().add(R.id.frgContainer,new FragOne(),FragOne.class.getName()).commit();

在"FragOne"上编写代码

 FragThird FragThird = new FragThird();
        FragmentTransaction ft = getActivity().getSupportFragmentManager().beginTransaction();
        ft.setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_left, R.anim.slide_in_right, R.anim.slide_out_right);
        // ft.addToBackStack(FragTrackView.class.getName());
        ft.add(R.id.frgContainer, FragThird, FragFourth.class.getName());
        ft.commit();

同样是添加 2 个片段和最后一个片段像这样添加

 FragFourth FragFourth= new FragFourth();
        FragmentTransaction ft = getActivity().getSupportFragmentManager().beginTransaction();
        ft.setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_left, R.anim.slide_in_right, R.anim.slide_out_right);
         ft.addToBackStack(FragFourth.class.getName());
        ft.add(R.id.frgContainer, FragFourth, FragFourth.class.getName());
        ft.commit();

相关内容

  • 没有找到相关文章

最新更新