Navigation中Fragment回退栈管理

Navigation中Fragment回退栈管理

前言

关于Navigation中回退栈的管理相关


一、问题描述

之前学navigation的时候发现到获取Controller成功使用后,界面是可以跳转了,但是每一次跳转都会在栈中添加新的fragment,也就是说我两个界面来回跳转几十次,再来按返回键退出这些fragment我也需要按好几十次来全部退出。

二、解决方法

实际上navigation本身就有应对措施,主要是action中的两个属性popUpTo和popUpToInclusive
			app:popUpTo="@id/loginFragment"
            app:popUpToInclusive="true"

popUpTo后面跟的id就代表我进行此次action后会弹出栈中除了此fragment之外的全部fragment,但是有一个问题是,如果是重复的fragment它是不会弹出的(即我们重复跳转同一个界面几次,这样每次跳转时并不会弹出)这就需要后面这个popUpToInclusive来点作用了,参数为true即为弹出其余全部,为false则不弹出,也就是加了这个之后会弹出除了我们跳转目标之外的全部内容,再直白点就是这俩一起用就能在跳转的同时弹出别的fragment

PS

以上内容均为个人学习记录分享所用,如有错误还请不吝指正,以免本人犯错误导他人。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值