public interface NavHost

Known direct subclasses
NavHostFragment

NavHostFragment provides an area within your layout for self-contained navigation to occur.

Known indirect subclasses
DynamicNavHostFragment

The NavHostFragment for dynamic features.


A host is a single context or container for navigation via a NavController.

It is strongly recommended to construct the nav controller by instantiating a NavHostController, which offers additional APIs specifically for a NavHost. The NavHostController should still only be externally accessible as a NavController, rather than directly exposing it as a NavHostController.

Navigation hosts must:

Optionally, a navigation host should consider calling:

Summary

Public methods

abstract @NonNull NavController

The navigation controller for this navigation host.

Extension functions

default final @NonNull NavGraph
NavHostKt.createGraph(
    @NonNull NavHost receiver,
    @IdRes int id,
    @IdRes int startDestination,
    @ExtensionFunctionType @NonNull Function1<@NonNull NavGraphBuilderUnit> builder
)

This method is deprecated. Use routes to create your NavGraph instead

default final @NonNull NavGraph
NavHostKt.createGraph(
    @NonNull NavHost receiver,
    @IdRes int id,
    @IdRes int startDestination,
    @ExtensionFunctionType @NonNull Function1<@NonNull DynamicNavGraphBuilderUnit> builder
)

This method is deprecated. Use routes to create your dynamic NavGraph instead

default final @NonNull NavGraph
NavHostKt.createGraph(
    @NonNull NavHost receiver,
    @NonNull String startDestination,
    String route,
    @ExtensionFunctionType @NonNull Function1<@NonNull NavGraphBuilderUnit> builder
)

Construct a new NavGraph

default final @NonNull NavGraph
NavHostKt.createGraph(
    @NonNull NavHost receiver,
    @NonNull String startDestination,
    String route,
    @ExtensionFunctionType @NonNull Function1<@NonNull DynamicNavGraphBuilderUnit> builder
)

Construct a new androidx.navigation.NavGraph that supports dynamic navigation destinations

Public methods

getNavController

Added in 1.0.0
abstract @NonNull NavController getNavController()

The navigation controller for this navigation host.

Extension functions

NavHostKt.createGraph

default final @NonNull NavGraph NavHostKt.createGraph(
    @NonNull NavHost receiver,
    @IdRes int id,
    @IdRes int startDestination,
    @ExtensionFunctionType @NonNull Function1<@NonNull NavGraphBuilderUnit> builder
)

Construct a new NavGraph

default final @NonNull NavGraph NavHostKt.createGraph(
    @NonNull NavHost receiver,
    @IdRes int id,
    @IdRes int startDestination,
    @ExtensionFunctionType @NonNull Function1<@NonNull DynamicNavGraphBuilderUnit> builder
)

Construct a new androidx.navigation.NavGraph that supports dynamic navigation destinations

NavHostKt.createGraph

default final @NonNull NavGraph NavHostKt.createGraph(
    @NonNull NavHost receiver,
    @NonNull String startDestination,
    String route,
    @ExtensionFunctionType @NonNull Function1<@NonNull NavGraphBuilderUnit> builder
)

Construct a new NavGraph

default final @NonNull NavGraph NavHostKt.createGraph(
    @NonNull NavHost receiver,
    @NonNull String startDestination,
    String route,
    @ExtensionFunctionType @NonNull Function1<@NonNull DynamicNavGraphBuilderUnit> builder
)

Construct a new androidx.navigation.NavGraph that supports dynamic navigation destinations