gpt4 book ai didi

安卓导航组件 : How to add a destination programmatically?

转载 作者:搜寻专家 更新时间:2023-11-01 09:21:06 26 4
gpt4 key购买 nike

我想向当前导航图注入(inject)一个新的目的地。

我注意到 NavGraph 有一个方法 void addDestination(@NonNull NavDestination node) 但我找不到创建 NavDestination 的正确方法> 并使用 navController.navigate(R.id.new_dest_id) 导航到它。

最佳答案

我有两种工作方式:

navController.graph.addDestination(ActivityNavigator(this).createDestination().apply {
id = R.id.new_dest
setComponentName(ComponentName(context, NewActivity::class.java))
// or setIntent
})

或者这个

navController.graph.addDestination(
navController.navigatorProvider.getNavigator(ActivityNavigator::class.java)
.createDestination().apply {
id = R.id.new_dest
setComponentName(ComponentName(context, NewActivity::class.java))
}
)

还有一个 DSL 构建器 ActivityNavigatorDestinationBuilder

fragment 类似。将 ActivityNavigator 更改为 FragmentNavigator 并使用不同的 setter 。

当我在一个图中添加目的地并尝试导航到另一个图中的新目的地时,我也犯了一个错误。当然,这永远行不通。

关于安卓导航组件 : How to add a destination programmatically?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55415573/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com