Fragment之Fragment回退栈

作者: 手指乐 | 来源:发表于2019-08-14 15:39 被阅读4次

类似Android系统为Activity维护一个任务栈,我们也可以通过Activity维护一个回退栈来保存每次Fragment事务发生的变化。如果你将Fragment任务添加到回退栈,当用户点击后退按钮时,将看到上一次的保存的Fragment。一旦Fragment完全从后退栈中弹出,用户再次点击后退键,则退出当前Activity。

先看一下这样一个效果图:

image

要实现这样的效果,在加入fragment的时候,同时调用addToBackStack把fragment加入到回退栈即可,以第二个fragment为例,在第一个fragment的点击响应事件中加入以下代码(第一个加入的fragment并不需要加入回退栈,因为它是直接加在activity上面的,点击返回调用activity的返回代码即可):

        FragmentTwo fTwo = new FragmentTwo();  
        FragmentManager fm = getFragmentManager();  
        FragmentTransaction tx = fm.beginTransaction();  
        tx.replace(R.id.id_content, fTwo, "TWO");  
        tx.addToBackStack(null);  
        tx.commit();  

这样第三个Fragment replace 第二个fragment的时候,第二个fragment会调用onDestoryView方法,但不会onDestory,返回时,直接onCreateView,不再onCreate

手机赚钱怎么赚,给大家推荐一个手机赚钱APP汇总平台:手指乐(http://www.szhile.com?from=js),辛苦搬砖之余用闲余时间动动手指,就可以日赚数百元

相关文章

  • Fragment回退栈和Activity栈不太一样

    Fragment回退栈,加入到Fragment回退栈里面的fragment出栈后,处于栈顶的fragment也不会...

  • Fragment之Fragment回退栈

    类似Android系统为Activity维护一个任务栈,我们也可以通过Activity维护一个回退栈来保存每次Fr...

  • 回退栈

    Fragment 的回退栈创建MvpFragmentManager : 监听使用

  • 实习笔记17.07.20

    fragment回退栈?当Activity继承AppCompatActivity时 fragmentTransa...

  • Fragment学习

    1、Fragment回退栈管理 Activity是由任务栈管理的,遵循先进后出的原则,Fragment也可以实现类...

  • fragment回退栈

    https://blog.csdn.net/zhiyuan0932/article/details/5259303...

  • Fragment 回退栈

    一、什么是回退栈Activity切换时是通过栈的形式,不断压栈出栈,在Fragment的时候,如果你不是手动开启回...

  • Fragment 回退栈

    一、什么是回退栈 Activity切换时是通过栈的形式,不断压栈出栈.在Fragment的时候,如果你不是手动打开...

  • Fragment笔记

    Fragment 为何产生 同时适配手机和平板、UI和逻辑的共享。 介绍 Fragment也会被加入回退栈中。 F...

  • Fragment回退栈详解

    一、什么是回退栈 Activity切换时是通过栈的形式,不断压栈出栈,在Fragment的时候,如果你不是手动开启...

网友评论

    本文标题:Fragment之Fragment回退栈

    本文链接:https://www.haomeiwen.com/subject/ppogjctx.html