Dodaj obsługę nowych typów miejsc docelowych

Typ NavController opiera się na co najmniej 1 obiekcie Navigator, aby wykonać operację nawigacji. Domyślnie NavController obsługuje opuszczanie grafu nawigacyjnego przez przejście do innej aktywności za pomocą klasy ActivityNavigator i jej zagnieżdżonej klasy ActivityNavigator.Destination.

Aby przejść do dowolnego innego typu miejsca docelowego, do NavController należy dodać co najmniej 1 dodatkowy obiekt Navigator. Jeśli na przykład używasz fragmentów jako miejsc docelowych, funkcja NavHostFragment automatycznie dodaje klasę FragmentNavigator do elementu NavController.

Aby dodać nowy obiekt Navigator do NavController, użyj metody getNavigatorProvider(), a następnie metody addNavigator().

Poniższy kod pokazuje przykład dodawania obiektu CustomNavigator do obiektu 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ę miejsca docelowego. Ta podklasa może służyć do określania dodatkowych atrybutów, które są unikalne 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.

Ćwiczenia z programowania

Filmy