Nach dem Update auf Navigation 2.2.0-beta01 von der vorherigen Version gibt lint eine Warnung zum Ersetzen des <fragment>
Tags durch aus FragmentContainerView
.
Das Ersetzen des Tags allein scheint jedoch zu verhindern, dass das Navigationsdiagramm aufgeblasen wird.
Nach 2.2.0-alpha01 , FragmentContainerView
wird intern verwendet. Sollten wir die Flusenwarnung ignorieren?
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>
android
android-layout
fast gesund
quelle
quelle
FragmentContainerView
?FragmentContainerView
und in jedem anderen Behälter Layout. Die Unterschiede sind in der oben verlinkten FCV-Dokumentation beschrieben. Grundsätzlich soll FCV dafür sorgen, dass Übergänge besser funktionieren, als Sie es erwarten würden. Oder die Jetpack-Navigation hängt von Fragmenten ab. Wenn Fragmente beschädigt sind, erhalten Sie eine neue Bibliothek mit festen Fragmenten oder warten auf eine neue Version der Navigation, die von neuen festen Fragmenten abhängt.Antworten:
Wichtig! Es sind Probleme mit verschiedenen Versionen von bekannt
FragmentContainerView
. Lesen Sie vor der Verwendung das Änderungsprotokoll . Lesen Sie die Fehlerbehebungen durch und verwenden Sie eine aktuelle Version der Bibliothek.Im Moment sollten Sie auch die Abhängigkeit von Fragment 1.2.0-beta02 deklarieren, da es einen Fix für diesen Anwendungsfall enthält.
Quelle: https://developer.android.com/jetpack/androidx/releases/fragment#1.2.0-beta02
quelle
Das NavigationBasicSample wurde auf 2.2.0-alpha01 aktualisiert, verwendet jedoch weiterhin das
fragment
Tag. Das NavigationAdvancedSample zeigt die Verwendung vonFragmentContainerView
, aber das Navigationsdiagramm wird im Code aufgeblasen (sie haben mehrere verschiedene Diagramme) und das entsprechende Hostfragment wird dem hinzugefügtFragmentContainerView
. Daher würde ich zu diesem Zeitpunkt sagen, wir sollten die Warnung ignorieren, wenn wir eine automatische Inflation wollen.quelle
Fragment
Abhängigkeit um die Flusenwarnung kümmern.