Dodaj obsługę nowych typów miejsc docelowych

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.

Próbki

Ćwiczenia z programowania

Filmy