DynamicGraphNavigator
@Navigator.Name(value = "navigation")
public final class DynamicGraphNavigator extends NavGraphNavigator
| java.lang.Object | |||
| ↳ | androidx.navigation.Navigator | ||
| ↳ | androidx.navigation.NavGraphNavigator | ||
| ↳ | androidx.navigation.dynamicfeatures.DynamicGraphNavigator |
Navigator for graphs in dynamic feature modules.
This class handles navigating to a progress destination when the installation of a dynamic feature module is required. By default, the progress destination set by installDefaultProgressDestination will be used, but this can be overridden by setting the app:progressDestinationId attribute in your navigation XML file.
Summary
Nested types |
|---|
public final class DynamicGraphNavigator.DynamicNavGraph extends NavGraphThe |
Public constructors |
|---|
DynamicGraphNavigator( |
Public methods |
|
|---|---|
@NonNull DynamicGraphNavigator.DynamicNavGraph |
Create a destination for the |
final void |
installDefaultProgressDestination(Installs the default progress destination to this graph via a lambda. |
void |
navigate(Navigate to a destination. |
void |
onRestoreState(@NonNull Bundle savedState) |
Bundle |
Inherited methods |
||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Public constructors
DynamicGraphNavigator
public DynamicGraphNavigator(
@NonNull NavigatorProvider navigatorProvider,
@NonNull DynamicInstallManager installManager
)
Public methods
createDestination
public @NonNull DynamicGraphNavigator.DynamicNavGraph createDestination()
Create a destination for the DynamicNavGraph.
| Returns | |
|---|---|
@NonNull DynamicGraphNavigator.DynamicNavGraph |
The created graph. |
installDefaultProgressDestination
public final void installDefaultProgressDestination(
@NonNull Function0<@NonNull NavDestination> progressDestinationSupplier
)
Installs the default progress destination to this graph via a lambda. This supplies a NavDestination to use when the actual destination is not installed at navigation time.
This must be called before you call androidx.navigation.NavController.setGraph to ensure that all DynamicNavGraph instances have the correct progress destination installed in onRestoreState.
| Parameters | |
|---|---|
@NonNull Function0<@NonNull NavDestination> progressDestinationSupplier |
The default progress destination supplier. |
navigate
public void navigate(
@NonNull List<@NonNull NavBackStackEntry> entries,
NavOptions navOptions,
Navigator.Extras navigatorExtras
)
Navigate to a destination.
In case the destination module is installed the navigation will trigger directly. Otherwise the dynamic feature module is requested and navigation is postponed until the module has successfully been installed.