从以前的版本更新到Navigation 2.2.0-beta01后,lint会发出警告,要求将<fragment>标记替换为FragmentContainerView

但是,仅更换标签似乎可以防止导航图膨胀。

根据2.2.0-alpha01FragmentContainerView在内部使用。我们应该忽略棉绒警告吗?

activity_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>

最佳答案

重要! 不同版本的FragmentContainerView存在一些已知问题。使用前请参阅changelog。通读错误修复程序,并使用该库的最新版本。

现在,您还应该声明对片段1.2.0-beta02的依赖,因为它包含此用例的修复程序。

implementation "androidx.fragment:fragment:1.2.0-beta02"



资料来源:https://developer.android.com/jetpack/androidx/releases/fragment#1.2.0-beta02

关于android - 将FragmentContainerView与导航组件一起使用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58320487/

10-12 04:27