使用带有多个导航图的Navigation组件和类似于google navigation sample的BottomNavigationView,我遇到了这样的问题。
我不能通过传递参数从底部导航的一个标签页导航到另一个标签页。例如,我有三个导航图和底部导航的三个标签页(每个标签页一个图)。
我需要以编程方式从一个选项卡导航到另一个,使“另一个”选项卡获取参数从第一个选项卡传递。
使用带有多个导航图的Navigation组件和类似于google navigation sample的BottomNavigationView,我遇到了这样的问题。
我不能通过传递参数从底部导航的一个标签页导航到另一个标签页。例如,我有三个导航图和底部导航的三个标签页(每个标签页一个图)。
我需要以编程方式从一个选项卡导航到另一个,使“另一个”选项卡获取参数从第一个选项卡传递。
2条答案
按热度按时间ttcibm8c1#
你可能需要一个本地数据库,如果你有很多数据要从一个标签移动到other.as,你可以用Intents传递它们。但是如果你不知道如何实现底部导航栏或标签,我建议你看看这些:
https://medium.com/@suragch/how-to-add-a-bottom-navigation-bar-in-android-958ed728ef6c
https://androidwave.com/bottom-navigation-bar-android-example/
https://medium.com/@droidbyme/android-material-design-tabs-tab-layout-with-swipe-884085ae80ff
q3qa4bjr2#
我设法创建了一个基于
androidx.navigation.ui.NavigationUI
内部的解决方案。引入以下接口:
在设置navBar的地方提供以下实现(通常为
MainActivity
):你可以在以后的片段中使用它,比如:
我真的希望我们可以只使用
navController.navigate()
,但当我试图导航到与我的标签绑定的目的地时(如文档中所提到的)。从tab1导航到tab2工作,但然后按tab1返回它停留在tab2上。你甚至可以在nav sample中看到它:
在
Title.kt
中替换与
运行应用程序并: