【发布时间】:2020-07-14 09:45:26
【问题描述】:
您好,我正在浏览开发者 Android 网站上的导航指南,并按照说明创建了一个 NavHostFragment:
<fragment
android:id="@+id/nav_host_fragment"
android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:defaultNavHost="true"
app:navGraph="@navigation/nav_graph" />
但是,当该代码存在时,IDE 建议我将 NavHostFragment 替换为 FragmentContainerView。
它们有什么区别?什么时候应该使用它们而不是另一个?
谢谢
【问题讨论】:
-
我并不像它总是向我显示要更改为 fragmentcontainerview 的提示,但它总是对我崩溃,我猜 fragmentcontainerview 就像一个框架布局,我总是继续使用 fragment
-
@takieddine 如果崩溃发生在
findNavController,请检查下面的答案。 -
正如我在文档中所读到的,FragmentContainview 扩展了 framelayout,它在实现事务时很有用,因为 NavHostFramgent 是导航工作所必需的,因为它充当所有片段的控制器并制作它们交易,如有错误,请指正
标签: android android-studio android-architecture-navigation android-jetpack-navigation