Google は、黒人コミュニティに対する人種平等の促進に取り組んでいます。取り組みを見る

新しいデスティネーション タイプのサポートを追加する

NavControllers は、ナビゲーション処理を実行する際、1 つまたは複数の Navigator オブジェクトを利用します。デフォルトでは、すべての NavControllers は、ActivityNavigator クラスとそのネスト ActivityNavigator.Destination クラスを使用して別のアクティビティに移動することにより、ナビゲーション グラフを離れることをサポートしています。他のタイプのデスティネーションに移動できるようにするには、1 つまたは複数の Navigator オブジェクトを NavController に追加する必要があります。たとえば、フラグメントをデスティネーションとして使用する場合、NavHostFragment は、FragmentNavigator クラスをその NavController に自動的に追加します。

新しい Navigator オブジェクトを NavController に追加するには、各 NavController クラスの getNavigatorProvider() メソッドを使用し、その後にそのクラスの addNavigator() メソッドを使用する必要があります。架空の CustomNavigator オブジェクトを NavController に追加する例を次のコードに示します。

Kotlin

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

Java

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

ほとんどの Navigator クラスには、ネスト デスティネーション サブクラスがあります。このサブクラスを使用することで、デスティネーション固有の追加属性を指定できます。デスティネーション サブクラスの詳細については、各 Navigator クラスのリファレンス ドキュメントをご覧ください。

参考リンク

ナビゲーションについて詳しくは、以下の参考情報をご確認ください。

サンプル

コードラボ

動画