Typ NavController
wymaga co najmniej 1 obiektu Navigator
do wykonywania operacji nawigacji. Domyślnie NavController
umożliwia opuszczenie wykresu nawigacyjnego przez przejście do innej aktywności przy użyciu klasy ActivityNavigator
i jej zagnieżdżonej klasy ActivityNavigator.Destination
.
Aby przejść do innego typu miejsca docelowego, do funkcji NavController
należy dodać co najmniej jeden dodatkowy obiekt Navigator
. Jeśli na przykład używasz fragmentów jako miejsc docelowych, NavHostFragment
automatycznie dodaje klasę FragmentNavigator
do klasy NavController
.
Aby dodać do obiektu NavController
nowy obiekt Navigator
, użyj metody getNavigatorProvider()
, a po niej metody addNavigator()
.
Ten kod zawiera przykład dodawania obiektu CustomNavigator
do NavController
:
Kotlin
val customNavigator = CustomNavigator() navController.navigatorProvider += customNavigator
Java
CustomNavigator customNavigator = new CustomNavigator(); navController.getNavigatorProvider().addNavigator(customNavigator);
Większość klas Navigator
ma zagnieżdżoną podklasę docelową. Tej podklasy można używać do określania dodatkowych atrybutów unikalnych dla Twojego miejsca docelowego. Więcej informacji o podklasach docelowych znajdziesz w dokumentacji odpowiedniej klasy Navigator
.
Dodatkowe materiały
Więcej informacji o nawigacji znajdziesz w tych dodatkowych materiałach.