我正在开发一个具有LoginFragment
和HomeFragment
的应用程序。
我正在使用jetpack导航组件来处理片段导航。
首先,在该用户完成LoginFragment
中的登录过程后,我呼叫popBackStack()
,然后将用户导航到HomeFragment
。
当用户单击dark mode
按钮时出现问题。
我将活动称为recreate()
。
而且我需要再次还原NavHost,但是我清除了该navHost的StartDestination
。
我该怎么做才能解决这个问题?
注意 :我尝试使用popUpTo
;但这对我不起作用。
答案 0 :(得分:2)
根据Principles of Navigation,您不应将登录名用作图形的开始目标:
注意:一个应用程序可能具有一次性设置或一系列登录屏幕。这些条件屏幕不应视为开始目标,因为用户仅在某些情况下才看到这些屏幕。
相反,请遵循guide for doing Login in the Navigation Component并有条件地导航到您的登录屏幕(即,仅当用户未登录时)。