当前位置: 首页 > 知识库问答 >
问题:

如何更改Jetpack撰写导航组件的背堆栈行为?

汪驰
2023-03-14

我在一个应用程序上使用jetpack comuse实现了登录、注册。我将登录用户重定向到主屏幕,并让新用户保持在登录屏幕上。但问题是当我将用户从登录屏幕重定向到主屏幕,用户按下返回按钮时,登录屏幕就会出现。现在我知道这是导航组件的正常行为,但我需要更改它。我如何做到这一点?

使用此行从登录屏幕导航到主屏幕

navController()。导航(“主屏幕”)

共有1个答案

钱志强
2023-03-14

在导航到主屏幕之前,您可以使用< code>popBackStack从后堆栈中删除最后一个项目:

navController.popBackStack()
navController.navigate("main_screen")
 类似资料:
  • 这是我的导航主机 我从主屏幕到“开始”屏幕很幼稚,但没有从“开始”导航到“计时器”屏幕,我已经传递了与从主屏幕获得的相同的ID。 这个主要可组合的 开始屏幕 当我点击按钮时,应用程序崩溃,错误如下

  • Android Jetpack导航,BottomNavigationView带自动碎片返回堆栈返回按钮点击? 我想要的,在用户选择多个选项卡后,用户点击返回按钮后,应用程序必须重定向到他/她打开的最后一个页面。 我使用Android ViewPager实现了同样的功能,将当前选定的项保存在ArrayList中。Android Jetpack导航发布后是否有自动后退堆栈?我想用导航图实现它 acti

  • 如何在JetPack Compose BottomSheet状态更改上实现回调/侦听器机制? 类似的东西: 正如我们过去在Java/静态编程语言中所做的那样。 现在,我正在将其作为lambda传递给另一个需要关闭底片的可组合。 但是我想得到一个回调,底部的工作表已经完全折叠,我可以继续我的任务。 我面临的实际问题:我正在通过按钮单击将可组合文件转换为位图。按钮在BottomSheet内部,需要转换

  • 我已经从连接到NavController的导航抽屉中导航到了DialogFragment。但当我导航到另一个目标时,我已经将弹出窗口设置为包含对话框片段,但它并没有清除堆栈。如何清除堆栈? AM从LogoutDialog调用此方法 我只使用片段和一个活动。 这是我导航图的一部分

  • 所以我试图用Jetpack Compose创建一个应用程序。我有一个屏幕功能,它包含一个没有顶部应用程序栏的脚手架,一个用于导航的底部栏和一个设置在底部栏中的浮动操作按钮。这一切都很好。 但是,当我将NavHost添加到脚手架的内容时,整个事情就停止了工作。没有NavHost,一切都很好,只是内容是屏幕的可组合功能。我尝试了不同数量的NavHost可组合位置,不同的填充值都无济于事。 没有NavH

  • 我需要一些关于react原生应用程序的社区建议。我是一个全新的人,不理解其中的一些基本区别。 关于反应本地文档创建StackNavigator的示例建议如下:从“反应导航堆栈”导入{createStackNav导航仪}; 我发现很多人使用下面的样式导入{堆栈导航器,Tab导航器}从“反应导航”; 为什么人们使用以上两种不同的风格?哪一个更合适,为什么? react-navigation-stack