更新为导航后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(使用前将#替换为@)