如何执行自定义导航? [英] How to perform custom navigation?

查看:83
本文介绍了如何执行自定义导航?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我尝试使用称为导航的新体系结构组件.与使用FragmentManager相比,这非常令人兴奋,并且使代码更少.现在,我遇到了5个带有导航片段的情况:

I try to using new architecture component called navigation. It's very thrilling and make lesser code than using FragmentManager. Now, I ended up in a case where I have 5 fragments with navigation looks like this:

A -> B -> C -> D -> E

有时候我必须将用户从片段A直接移到E,如果按下后退按钮,我想要这样的东西:

Sometime I have to move user from fragment A directly to E and if back button pressed, I want something like this:

E -> D -> C -> B -> A

但是我现在得到的是:

E -> A

有没有平易近人的方法来实现它?

Is there any approachable way to make it happen?

推荐答案

好!如果要从E -> A转到,则需要从fragmentManagerpop一些fragments.因此,您需要执行以下操作:

OK! if you want to go from E -> A then you need to pop some fragments from fragmentManager. So, you need to do:

var size = fragmentManager!!.backStackEntryCount
var fm: FragmentManager = fragmentManager as FragmentManager
for (i in 0..(size - 1)) {
    fm.popBackStack()
}

在您的backPressed事件中.

这篇关于如何执行自定义导航?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆