假设我有一个类似于这样的导航图:
如果用户未登录,我需要在其继续操作之前显示登录界面。根据文档,我在
但是如果用户在
目前,我通过在承载
但这种方法感觉有些hackish。我想这肯定是一个非常普遍的导航场景。那么,有没有什么“惯用”的方法来做到这一点?
--------- ---------
| Home | ---->| Other |
--------- ---------
|
|
V
---------
| Login |
---------
如果用户未登录,我需要在其继续操作之前显示登录界面。根据文档,我在
HomeFragment
中检查用户是否已登录。如果没有登录,则打开LoginFragment
。到此为止,一切都很好。但是如果用户在
LoginFragment
中按下返回键,我想让应用程序退出。但是由于LoginFragment
不是起始目的地,它将简单地打开HomeFragment
,然后再次打开LoginFragment
。目前,我通过在承载
Activity
中重写onBackPressed()
并在当前目的地为LoginFragment
时finish()
该Activity
来退出应用程序。但这种方法感觉有些hackish。我想这肯定是一个非常普遍的导航场景。那么,有没有什么“惯用”的方法来做到这一点?
onBackPressed
在登录页上的一个应用程序中,使用和你现在做的方式一样,来有效地“困住”用户在登录页上,如果他碰巧到达那里。我不介意你目前正在做的事情。 - Tim BiegeleisenonBackPressed()
被调用并显示登录片段时,您只需要finish()
主页 Activity。 - TheWanderer