Dodaj obsługę nowych typów miejsc docelowych

Typ NavController wymaga co najmniej jednego Navigator obiektów do wykonania lub operacji nawigacji. Domyślnie NavController obsługuje opuszczanie domeny wykresu nawigacji. Aby to zrobić, przejdź do innej aktywności ActivityNavigator. class i jej zagnieżdżone ActivityNavigator.Destination zajęcia.

Aby przejść do innego typu miejsca docelowego, skorzystaj z co najmniej jednego dodatkowego miejsca Navigator Obiekty muszą być dodawane do NavController. Na przykład przy korzystaniu z fragmentów jako miejsca docelowe, NavHostFragment automatycznie dodaje FragmentNavigator do klasy NavController.

Aby dodać do obiektu NavController nowy obiekt Navigator, użyj getNavigatorProvider(). , a po nim addNavigator(). .

Poniższy kod pokazuje 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 typu Navigator ma zagnieżdżoną podklasę docelową. Ta podklasa może pozwala określić dodatkowe atrybuty unikalne dla Twojego miejsca docelowego. Więcej informacji o podklasach docelowych znajdziesz w dokumentacji referencyjnej odpowiedni Navigator zajęcia.

Dodatkowe materiały

Więcej informacji o nawigacji znajdziesz tutaj z dodatkowymi zasobami.

Próbki

Ćwiczenia z programowania

Filmy