Android 如何将NavHostFragment与FragmentContainerView一起使用?

Android 如何将NavHostFragment与FragmentContainerView一起使用?,android,android-fragments,android-activity,android-architecture-navigation,android-viewbinding,Android,Android Fragments,Android Activity,Android Architecture Navigation,Android Viewbinding,我对导航组件的一个问题很好奇,特别是关于托管NavHostFragment。我有一个带有一些片段的单一活动本机应用程序。我在启动器的xml中,将替换为 最初的实施已按计划进行了一年。在本周推出FragmentContainerView时,起始目的地的屏幕在启动时不会呈现。然而,我观察到的日志证明,数据成功地从网络和缓存中传入。从该状态开始,只有通过旋转设备触发配置更改才能按预期呈现UI 我的AndroidX NavigationFragmentKtx和NavigationUiKtx依赖项是版本2

我对导航组件的一个问题很好奇,特别是关于托管
NavHostFragment
。我有一个带有一些片段的单一活动本机应用程序。我在启动器的xml中,将
替换为

最初的实施已按计划进行了一年。在本周推出FragmentContainerView时,起始目的地的屏幕在启动时不会呈现。然而,我观察到的日志证明,数据成功地从网络和缓存中传入。从该状态开始,只有通过旋转设备触发配置更改才能按预期呈现UI

我的AndroidX NavigationFragmentKtx和NavigationUiKtx依赖项是版本
2.3.2
。相关文件缩写。有什么我错过的突出的地方吗?任何想法都很感激

launcher\u activity.xml


启动活动.kt

类启动器活动:AppCompatActivity(R.layout.launcher\u活动){
私有lateinit var viewBinding:LauncherActivityBinding
专用val navController:navController by lazy{
val navHost=supportFragmentManager.findFragmentById(
R.id.launcher\u导航主机
)作为一个碎片
navHost.navController
}
重写创建时的乐趣(savedInstanceState:Bundle?){
super.onCreate(savedInstanceState)
viewBinding=LauncherActivityBinding.充气(LAYOUTINTFLATER)
setContentView(viewBinding.root)
}
}

您正在使用
AppCompatActivity(R.layout.launcher\u活动)
,这意味着您将自动调用
setContentView(R.layout.launcher\u活动)
作为
super.onCreate(savedInstanceState)
的一部分(传递布局ID就是这样做的)。然后通过第二次调用
setContentView()
覆盖该布局

如果您使用的是视图绑定,则只需删除
R.layout.launcher\u活动
部分,因为它不是必需的(以及问题的根源):

class LauncherActivity : AppCompatActivity() {