使用Fragments的Jetpack Compose NavHost

4

在Compose NavHost中使用片段目标是否可行?我尝试使用NavGraphBuilder DSL创建目标,但出现以下错误:找不到名称为“fragment”的Navigator。您必须为每种导航类型调用NavController.addNavigator()。

这是我的尝试内容:

  NavHost(navController = navController, startDestination = NavScreen.Home.route) {
            composable(NavScreen.Home.route) {
               ...
            }
            
            fragment<TestFragment>(...) {
                ...
            }
  }
1个回答

1
在alpha05版本中,我认为组合导航与片段导航不兼容。但是你可以将片段包装在AndroidView中,这是组合与传统 Android 交互的方式。类似于:
@Composable
fun MyFragDestination() {
    AndroidView(
        viewBlock = { // create fragment },
        updateBlock = { // update fragment with new state }
    }
}

然后从组合导航器中调用MyFragDestination


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接