AnE*_*Bug 5 android android-architecture-components android-architecture-navigation
假设我有一个与此类似的导航图:
--------- ---------
| Home | ---->| Other |
--------- ---------
|
|
V
---------
| Login |
---------
Run Code Online (Sandbox Code Playgroud)
如果用户没有登录,我必须在他继续之前显示登录屏幕。根据文档,我检查用户是否在HomeFragment. 如果他不是,我打开LoginFragment. 到现在为止还挺好。
但是如果用户按回LoginFragment,我希望应用程序退出。但由于LoginFragment不是开始目的地,它会简单地打开HomeFragment,然后LoginFragment再次打开。
目前,我通过重写退出应用程序onBackPressed()在主机Activity和finish()该Activity如果当前目的地LoginFragment。
但这感觉很hackish。我想这一定是一个非常常见的导航场景。那么,是否有任何“惯用”的方式来做到这一点?
我相信解决您的问题的最简单(并且我认为适当)的解决方案基本上是在您的操作中使用app:popUpTo和app:popUpToInclusive,该操作从主页 --> 登录中进行。
这是一个相关示例,当您从启动屏幕移动到主屏幕时,您不希望在按下“后退”按钮时返回启动屏幕。
| 归档时间: |
|
| 查看次数: |
1547 次 |
| 最近记录: |