Dew*_*eed 6 android android-jetpack android-architecture-navigation
我想为当前的导航图注入一个新的目的地。
我注意到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
})
Run Code Online (Sandbox Code Playgroud)
或这个
navController.graph.addDestination(
navController.navigatorProvider.getNavigator(ActivityNavigator::class.java)
.createDestination().apply {
id = R.id.new_dest
setComponentName(ComponentName(context, NewActivity::class.java))
}
)
Run Code Online (Sandbox Code Playgroud)
还有一个 DSL builder ActivityNavigatorDestinationBuilder。
片段类似。更改ActivityNavigator到FragmentNavigator并使用不同的setter方法。
当我在一个图表中添加一个目的地并试图导航到另一个图表中的新目的地时,我也犯了一个错误。当然,那永远不会奏效。
| 归档时间: |
|
| 查看次数: |
3756 次 |
| 最近记录: |