新增對新目的地類型的支援

NavController 類型仰賴一個或多個 Navigator 物件來執行導覽作業。根據預設,NavController 支援使用 ActivityNavigator 類別及其巢狀 ActivityNavigator.Destination 類別前往其他活動,以退出導覽圖表。

如要前往任何其他類型的目的地,必須在 NavController 中新增一個或多個 Navigator 物件。舉例來說,使用片段做為目的地時,NavHostFragment 會自動新增 FragmentNavigator 類別至其 NavController

如要將新的 Navigator 新增至 NavController,請使用 getNavigatorProvider() 方法,然後使用 addNavigator() 方法。

以下程式碼示範如何在 NavController 中新增 CustomNavigator 物件:

Kotlin

val customNavigator = CustomNavigator()
navController.navigatorProvider += customNavigator

Java

CustomNavigator customNavigator = new CustomNavigator();
navController.getNavigatorProvider().addNavigator(customNavigator);

大部分的 Navigator 類別都有巢狀目的地子類別。這個子類別可用來指定目的地專屬的其他屬性。如要進一步瞭解目的地子類別,請參閱適用 Navigator 類別的參考文件。

其他資源

如要進一步瞭解導覽,請參閱下列其他資源。

程式碼研究室

影片