将 FragmentContainerView 与导航组件一起使用?

2024-05-16

更新为导航后2.2.0-beta01 https://developer.android.com/jetpack/androidx/releases/navigation#2.2.0-beta01从以前的版本开始,lint 会发出有关替换的警告<fragment>标记为FragmentContainerView.

然而,单独替换标签似乎可以防止导航图膨胀。

根据2.2.0-alpha01 https://developer.android.com/jetpack/androidx/releases/navigation#2.2.0-alpha01, FragmentContainerView在内部使用。我们应该忽略 lint 警告吗?


活动_main.xml

<androidx.constraintlayout.widget.ConstraintLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <!-- Lint warning: "Replace the <fragment> tag with FragmentContainerView. -->
    <fragment
        android:id="@+id/nav_host_main"
        android:name="androidx.navigation.fragment.NavHostFragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:defaultNavHost="true"
        app:navGraph="@navigation/nav_graph_main"/>

    <!-- other elements -->

</androidx.constraintlayout.widget.ConstraintLayout>

还有一个bug,如果你简单的替换就会抛出异常fragment for 。截至目前,正如许多谷歌工程师在本文中所说的那样,该修复错误线程 https://issuetracker.google.com/issues/142847973是更改您的活动中的代码:

val navHostFragment = supportFragmentManager.findFragmentById(R.id.my_nav_host_fragment) as NavHostFragment
val navController = navHostFragment.navController
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 FragmentContainerView 与导航组件一起使用? 的相关文章

随机推荐