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

NavControllers 仰賴一個或多個 Navigator 物件來執行導覽作業。根據預設,所有 NavControllers 都支援使用 ActivityNavigator 前往其他活動,退出導覽圖表類別及其巢狀 ActivityNavigator.Destination 類別。如要前往任何其他類型的目的地,必須在 NavController 中新增 Navigator 物件。舉例來說,使用片段做為目的地時,NavHostFragment 會自動新增 FragmentNavigator 類別至其 NavController

若新增 Navigator 物件至 NavController,就必須使用相應的 NavController 類別的 getNavigatorProvider() 方法,以及類別的 addNavigator() 方法。以下程式碼示範如何在 NavController 中新增虛構的 CustomNavigator 物件:

Kotlin

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

Java

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

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

其他資源

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

範例

程式碼研究室

影片