# androidx.navigation.fragment

*** ** * ** ***

## Classes

|---|---|
| `https://developer.android.com/reference/kotlin/androidx/navigation/fragment/AbstractListDetailFragment` | A fragment supports adaptive two-pane layout. |
| `https://developer.android.com/reference/kotlin/androidx/navigation/fragment/DialogFragmentNavigator` | Navigator that uses `https://developer.android.com/reference/kotlin/androidx/fragment/app/DialogFragment#show(androidx.fragment.app.FragmentManager,java.lang.String)`. |
| `https://developer.android.com/reference/kotlin/androidx/navigation/fragment/DialogFragmentNavigator.Destination` | NavDestination specific to `https://developer.android.com/reference/kotlin/androidx/navigation/fragment/DialogFragmentNavigator`. |
| `https://developer.android.com/reference/kotlin/androidx/navigation/fragment/DialogFragmentNavigatorDestinationBuilder` | DSL for constructing a new `https://developer.android.com/reference/kotlin/androidx/navigation/fragment/DialogFragmentNavigator.Destination` |
| `https://developer.android.com/reference/kotlin/androidx/navigation/fragment/FragmentNavigator` | Navigator that navigates through `https://developer.android.com/reference/kotlin/androidx/fragment/app/FragmentTransaction`. |
| `https://developer.android.com/reference/kotlin/androidx/navigation/fragment/FragmentNavigator.Destination` | NavDestination specific to `https://developer.android.com/reference/kotlin/androidx/navigation/fragment/FragmentNavigator` |
| `https://developer.android.com/reference/kotlin/androidx/navigation/fragment/FragmentNavigator.Extras` | Extras that can be passed to FragmentNavigator to enable Fragment specific behavior |
| `https://developer.android.com/reference/kotlin/androidx/navigation/fragment/FragmentNavigator.Extras.Builder` | Builder for constructing new `https://developer.android.com/reference/kotlin/androidx/navigation/fragment/FragmentNavigator.Extras` instances. |
| `https://developer.android.com/reference/kotlin/androidx/navigation/fragment/FragmentNavigatorDestinationBuilder` | DSL for constructing a new `https://developer.android.com/reference/kotlin/androidx/navigation/fragment/FragmentNavigator.Destination` |
| `https://developer.android.com/reference/kotlin/androidx/navigation/fragment/NavHostFragment` | NavHostFragment provides an area within your layout for self-contained navigation to occur. |

## Top-level functions summary

|---|---|
| `https://developer.android.com/reference/kotlin/androidx/navigation/fragment/FragmentNavigator.Extras` | `https://developer.android.com/reference/kotlin/androidx/navigation/fragment/package-summary#FragmentNavigatorExtras(kotlin.Array)(vararg sharedElements: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-pair/index.html<https://developer.android.com/reference/android/view/View.html, https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html>)` Create a new `https://developer.android.com/reference/kotlin/androidx/navigation/fragment/FragmentNavigator.Extras` instance with the given shared elements |

## Extension functions summary

|---|---|
| `inline https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `<F : https://developer.android.com/reference/kotlin/androidx/fragment/app/DialogFragment> https://developer.android.com/reference/kotlin/androidx/navigation/NavGraphBuilder.[dialog](https://developer.android.com/reference/kotlin/androidx/navigation/fragment/package-summary#(androidx.navigation.NavGraphBuilder).dialog(kotlin.Int))(id: @https://developer.android.com/reference/kotlin/androidx/annotation/IdRes https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` **This function is deprecated.** Use routes to create your DialogFragmentDestination instead |
| `inline https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `<F : https://developer.android.com/reference/kotlin/androidx/fragment/app/DialogFragment> https://developer.android.com/reference/kotlin/androidx/navigation/NavGraphBuilder.https://developer.android.com/reference/kotlin/androidx/navigation/fragment/package-summary#(androidx.navigation.NavGraphBuilder).dialog(kotlin.String)(route: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)` Construct a new `https://developer.android.com/reference/kotlin/androidx/navigation/fragment/DialogFragmentNavigator.Destination` |
| `inline https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `<F : https://developer.android.com/reference/kotlin/androidx/fragment/app/DialogFragment, T : https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html> https://developer.android.com/reference/kotlin/androidx/navigation/NavGraphBuilder.https://developer.android.com/reference/kotlin/androidx/navigation/fragment/package-summary#(androidx.navigation.NavGraphBuilder).dialog(kotlin.collections.Map)( typeMap: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-map/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-type/index.html, https://developer.android.com/reference/kotlin/androidx/navigation/NavType<*>> )` Construct a new `https://developer.android.com/reference/kotlin/androidx/navigation/fragment/DialogFragmentNavigator.Destination` |
| `inline https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `<F : https://developer.android.com/reference/kotlin/androidx/fragment/app/DialogFragment> https://developer.android.com/reference/kotlin/androidx/navigation/NavGraphBuilder.[dialog](https://developer.android.com/reference/kotlin/androidx/navigation/fragment/package-summary#(androidx.navigation.NavGraphBuilder).dialog(kotlin.Int,kotlin.Function1))( id: @https://developer.android.com/reference/kotlin/androidx/annotation/IdRes https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, builder: https://developer.android.com/reference/kotlin/androidx/navigation/fragment/DialogFragmentNavigatorDestinationBuilder.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html )` **This function is deprecated.** Use routes to create your DialogFragmentDestination instead |
| `inline https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `<F : https://developer.android.com/reference/kotlin/androidx/fragment/app/DialogFragment> https://developer.android.com/reference/kotlin/androidx/navigation/NavGraphBuilder.https://developer.android.com/reference/kotlin/androidx/navigation/fragment/package-summary#(androidx.navigation.NavGraphBuilder).dialog(kotlin.String,kotlin.Function1)( route: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html, builder: https://developer.android.com/reference/kotlin/androidx/navigation/fragment/DialogFragmentNavigatorDestinationBuilder.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html )` Construct a new `https://developer.android.com/reference/kotlin/androidx/navigation/fragment/DialogFragmentNavigator.Destination` |
| `inline https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `<F : https://developer.android.com/reference/kotlin/androidx/fragment/app/DialogFragment, T : https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html> https://developer.android.com/reference/kotlin/androidx/navigation/NavGraphBuilder.https://developer.android.com/reference/kotlin/androidx/navigation/fragment/package-summary#(androidx.navigation.NavGraphBuilder).dialog(kotlin.collections.Map,kotlin.Function1)( typeMap: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-map/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-type/index.html, https://developer.android.com/reference/kotlin/androidx/navigation/NavType<*>>, builder: https://developer.android.com/reference/kotlin/androidx/navigation/fragment/DialogFragmentNavigatorDestinationBuilder.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html )` Construct a new `https://developer.android.com/reference/kotlin/androidx/navigation/fragment/DialogFragmentNavigator.Destination` |
| `https://developer.android.com/reference/kotlin/androidx/navigation/NavController` | `https://developer.android.com/reference/kotlin/androidx/fragment/app/Fragment.https://developer.android.com/reference/kotlin/androidx/navigation/fragment/package-summary#(androidx.fragment.app.Fragment).findNavController()()` Find a `https://developer.android.com/reference/kotlin/androidx/navigation/NavController` given a `https://developer.android.com/reference/kotlin/androidx/fragment/app/Fragment` |
| `inline https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `<F : https://developer.android.com/reference/kotlin/androidx/fragment/app/Fragment> https://developer.android.com/reference/kotlin/androidx/navigation/NavGraphBuilder.[fragment](https://developer.android.com/reference/kotlin/androidx/navigation/fragment/package-summary#(androidx.navigation.NavGraphBuilder).fragment(kotlin.Int))(id: @https://developer.android.com/reference/kotlin/androidx/annotation/IdRes https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` **This function is deprecated.** Use routes to create your FragmentDestination instead |
| `inline https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `<F : https://developer.android.com/reference/kotlin/androidx/fragment/app/Fragment> https://developer.android.com/reference/kotlin/androidx/navigation/NavGraphBuilder.https://developer.android.com/reference/kotlin/androidx/navigation/fragment/package-summary#(androidx.navigation.NavGraphBuilder).fragment(kotlin.String)(route: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)` Construct a new `https://developer.android.com/reference/kotlin/androidx/navigation/fragment/FragmentNavigator.Destination` |
| `inline https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `<F : https://developer.android.com/reference/kotlin/androidx/fragment/app/Fragment, T : https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html> https://developer.android.com/reference/kotlin/androidx/navigation/NavGraphBuilder.https://developer.android.com/reference/kotlin/androidx/navigation/fragment/package-summary#(androidx.navigation.NavGraphBuilder).fragment(kotlin.collections.Map)( typeMap: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-map/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-type/index.html, https://developer.android.com/reference/kotlin/androidx/navigation/NavType<*>> )` Construct a new `https://developer.android.com/reference/kotlin/androidx/navigation/fragment/FragmentNavigator.Destination` |
| `inline https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `<F : https://developer.android.com/reference/kotlin/androidx/fragment/app/Fragment> https://developer.android.com/reference/kotlin/androidx/navigation/NavGraphBuilder.[fragment](https://developer.android.com/reference/kotlin/androidx/navigation/fragment/package-summary#(androidx.navigation.NavGraphBuilder).fragment(kotlin.Int,kotlin.Function1))(id: @https://developer.android.com/reference/kotlin/androidx/annotation/IdRes https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, builder: https://developer.android.com/reference/kotlin/androidx/navigation/fragment/FragmentNavigatorDestinationBuilder.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)` **This function is deprecated.** Use routes to create your FragmentDestination instead |
| `inline https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `<F : https://developer.android.com/reference/kotlin/androidx/fragment/app/Fragment> https://developer.android.com/reference/kotlin/androidx/navigation/NavGraphBuilder.https://developer.android.com/reference/kotlin/androidx/navigation/fragment/package-summary#(androidx.navigation.NavGraphBuilder).fragment(kotlin.String,kotlin.Function1)(route: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html, builder: https://developer.android.com/reference/kotlin/androidx/navigation/fragment/FragmentNavigatorDestinationBuilder.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)` Construct a new `https://developer.android.com/reference/kotlin/androidx/navigation/fragment/FragmentNavigator.Destination` |
| `inline https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `<F : https://developer.android.com/reference/kotlin/androidx/fragment/app/Fragment, T : https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html> https://developer.android.com/reference/kotlin/androidx/navigation/NavGraphBuilder.https://developer.android.com/reference/kotlin/androidx/navigation/fragment/package-summary#(androidx.navigation.NavGraphBuilder).fragment(kotlin.collections.Map,kotlin.Function1)( typeMap: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-map/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-type/index.html, https://developer.android.com/reference/kotlin/androidx/navigation/NavType<*>>, builder: https://developer.android.com/reference/kotlin/androidx/navigation/fragment/FragmentNavigatorDestinationBuilder.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html )` Construct a new `https://developer.android.com/reference/kotlin/androidx/navigation/fragment/FragmentNavigator.Destination` |
| `inline https://developer.android.com/reference/kotlin/androidx/navigation/NavArgsLazy<Args>` | `@https://developer.android.com/reference/kotlin/androidx/annotation/MainThread <Args : https://developer.android.com/reference/kotlin/androidx/navigation/NavArgs> https://developer.android.com/reference/kotlin/androidx/fragment/app/Fragment.https://developer.android.com/reference/kotlin/androidx/navigation/fragment/package-summary#(androidx.fragment.app.Fragment).navArgs()()` Returns a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-lazy/index.html` delegate to access the Fragment's arguments as an `https://developer.android.com/reference/kotlin/androidx/navigation/fragment/package-summary#(androidx.fragment.app.Fragment).navArgs()` instance. |

## Top-level functions

### FragmentNavigatorExtras

Artifact: [androidx.navigation:navigation-fragment](https://developer.android.com/jetpack/androidx/releases/navigation) [View Source](https://cs.android.com/search?q=file:androidx/navigation/fragment/FragmentNavigatorExtras.kt+function:FragmentNavigatorExtras)

```
fun FragmentNavigatorExtras(vararg sharedElements: Pair<View, String>): FragmentNavigator.Extras
```

Create a new `https://developer.android.com/reference/kotlin/androidx/navigation/fragment/FragmentNavigator.Extras` instance with the given shared elements

| Parameters |
|---|---|
| `vararg sharedElements: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-pair/index.html<https://developer.android.com/reference/android/view/View.html, https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html>` | One or more pairs of View+String names to be passed through to `https://developer.android.com/reference/kotlin/androidx/navigation/fragment/FragmentNavigator.Extras.Builder#addSharedElement(android.view.View,kotlin.String)`. |

## Extension functions

### NavGraphBuilder.dialog

Artifact: [androidx.navigation:navigation-fragment](https://developer.android.com/jetpack/androidx/releases/navigation) [View Source](https://cs.android.com/search?q=file:androidx/navigation/fragment/DialogFragmentNavigatorDestinationBuilder.kt+function:dialog)

```
inline fun <F : DialogFragment> NavGraphBuilder.[dialog](https://developer.android.com/reference/kotlin/androidx/navigation/fragment/package-summary#(androidx.navigation.NavGraphBuilder).dialog(kotlin.Int))(id: @IdRes Int): Unit
```

> [!CAUTION]
> **This function is deprecated.**   
> Use routes to create your DialogFragmentDestination instead, use this instead:
>
> ```kotlin
> dialog<F>(route = id.toString())
> ```

Construct a new `https://developer.android.com/reference/kotlin/androidx/navigation/fragment/DialogFragmentNavigator.Destination`

| Parameters |
|---|---|
| `id: @https://developer.android.com/reference/kotlin/androidx/annotation/IdRes https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | the destination's unique id |

### NavGraphBuilder.dialog

Artifact: [androidx.navigation:navigation-fragment](https://developer.android.com/jetpack/androidx/releases/navigation) [View Source](https://cs.android.com/search?q=file:androidx/navigation/fragment/DialogFragmentNavigatorDestinationBuilder.kt+function:dialog)

```
inline fun <F : DialogFragment> NavGraphBuilder.dialog(route: String): Unit
```

Construct a new `https://developer.android.com/reference/kotlin/androidx/navigation/fragment/DialogFragmentNavigator.Destination`

| Parameters |
|---|---|
| `route: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | the destination's unique route |

### NavGraphBuilder.dialog

Artifact: [androidx.navigation:navigation-fragment](https://developer.android.com/jetpack/androidx/releases/navigation) [View Source](https://cs.android.com/search?q=file:androidx/navigation/fragment/DialogFragmentNavigatorDestinationBuilder.kt+function:dialog)

```
inline fun <F : DialogFragment, T : Any> NavGraphBuilder.dialog(
    typeMap: Map<KType, NavType<*>> = emptyMap()
): Unit
```

Construct a new `https://developer.android.com/reference/kotlin/androidx/navigation/fragment/DialogFragmentNavigator.Destination`

| Parameters |
|---|---|
| `<T : https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html>` | the destination's unique route from a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html` |
| `typeMap: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-map/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-type/index.html, https://developer.android.com/reference/kotlin/androidx/navigation/NavType<*>> = emptyMap()` | map of destination arguments' kotlin type `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-type/index.html` to its respective custom `https://developer.android.com/reference/kotlin/androidx/navigation/NavType`. May be empty if `https://developer.android.com/reference/kotlin/androidx/navigation/fragment/package-summary#(androidx.navigation.NavGraphBuilder).dialog(kotlin.collections.Map)` does not use custom NavTypes. |

### NavGraphBuilder.dialog

Artifact: [androidx.navigation:navigation-fragment](https://developer.android.com/jetpack/androidx/releases/navigation) [View Source](https://cs.android.com/search?q=file:androidx/navigation/fragment/DialogFragmentNavigatorDestinationBuilder.kt+function:dialog)

```
inline fun <F : DialogFragment> NavGraphBuilder.[dialog](https://developer.android.com/reference/kotlin/androidx/navigation/fragment/package-summary#(androidx.navigation.NavGraphBuilder).dialog(kotlin.Int,kotlin.Function1))(
    id: @IdRes Int,
    builder: DialogFragmentNavigatorDestinationBuilder.() -> Unit
): Unit
```

> [!CAUTION]
> **This function is deprecated.**   
> Use routes to create your DialogFragmentDestination instead, use this instead:
>
> ```kotlin
> dialog<F>(route = id.toString()) { builder.invoke() }
> ```

Construct a new `https://developer.android.com/reference/kotlin/androidx/navigation/fragment/DialogFragmentNavigator.Destination`

| Parameters |
|---|---|
| `id: @https://developer.android.com/reference/kotlin/androidx/annotation/IdRes https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | the destination's unique id |
| `builder: https://developer.android.com/reference/kotlin/androidx/navigation/fragment/DialogFragmentNavigatorDestinationBuilder.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | the builder used to construct the fragment destination |

### NavGraphBuilder.dialog

Artifact: [androidx.navigation:navigation-fragment](https://developer.android.com/jetpack/androidx/releases/navigation) [View Source](https://cs.android.com/search?q=file:androidx/navigation/fragment/DialogFragmentNavigatorDestinationBuilder.kt+function:dialog)

```
inline fun <F : DialogFragment> NavGraphBuilder.dialog(
    route: String,
    builder: DialogFragmentNavigatorDestinationBuilder.() -> Unit
): Unit
```

Construct a new `https://developer.android.com/reference/kotlin/androidx/navigation/fragment/DialogFragmentNavigator.Destination`

| Parameters |
|---|---|
| `route: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | the destination's unique route |
| `builder: https://developer.android.com/reference/kotlin/androidx/navigation/fragment/DialogFragmentNavigatorDestinationBuilder.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | the builder used to construct the fragment destination |

### NavGraphBuilder.dialog

Artifact: [androidx.navigation:navigation-fragment](https://developer.android.com/jetpack/androidx/releases/navigation) [View Source](https://cs.android.com/search?q=file:androidx/navigation/fragment/DialogFragmentNavigatorDestinationBuilder.kt+function:dialog)

```
inline fun <F : DialogFragment, T : Any> NavGraphBuilder.dialog(
    typeMap: Map<KType, NavType<*>> = emptyMap(),
    builder: DialogFragmentNavigatorDestinationBuilder.() -> Unit
): Unit
```

Construct a new `https://developer.android.com/reference/kotlin/androidx/navigation/fragment/DialogFragmentNavigator.Destination`

| Parameters |
|---|---|
| `<T : https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html>` | the destination's unique route from a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html` |
| `typeMap: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-map/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-type/index.html, https://developer.android.com/reference/kotlin/androidx/navigation/NavType<*>> = emptyMap()` | map of destination arguments' kotlin type `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-type/index.html` to its respective custom `https://developer.android.com/reference/kotlin/androidx/navigation/NavType`. May be empty if `https://developer.android.com/reference/kotlin/androidx/navigation/fragment/package-summary#(androidx.navigation.NavGraphBuilder).dialog(kotlin.collections.Map,kotlin.Function1)` does not use custom NavTypes. |
| `builder: https://developer.android.com/reference/kotlin/androidx/navigation/fragment/DialogFragmentNavigatorDestinationBuilder.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | the builder used to construct the fragment destination |

### Fragment.findNavController

Artifact: [androidx.navigation:navigation-fragment](https://developer.android.com/jetpack/androidx/releases/navigation) [View Source](https://cs.android.com/search?q=file:androidx/navigation/fragment/Fragment.kt+function:findNavController) Added in [2.4.0](https://developer.android.com/jetpack/androidx/releases/navigation#2.4.0)

```
fun Fragment.findNavController(): NavController
```

Find a `https://developer.android.com/reference/kotlin/androidx/navigation/NavController` given a `https://developer.android.com/reference/kotlin/androidx/fragment/app/Fragment`

Calling this on a Fragment that is not a `https://developer.android.com/reference/kotlin/androidx/navigation/fragment/NavHostFragment` or within a `https://developer.android.com/reference/kotlin/androidx/navigation/fragment/NavHostFragment` will result in an `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-state-exception/index.html`

### NavGraphBuilder.fragment

Artifact: [androidx.navigation:navigation-fragment](https://developer.android.com/jetpack/androidx/releases/navigation) [View Source](https://cs.android.com/search?q=file:androidx/navigation/fragment/FragmentNavigatorDestinationBuilder.kt+function:fragment)

```
inline fun <F : Fragment> NavGraphBuilder.[fragment](https://developer.android.com/reference/kotlin/androidx/navigation/fragment/package-summary#(androidx.navigation.NavGraphBuilder).fragment(kotlin.Int))(id: @IdRes Int): Unit
```

> [!CAUTION]
> **This function is deprecated.**   
> Use routes to create your FragmentDestination instead, use this instead:
>
> ```kotlin
> fragment<F>(route = id.toString())
> ```

Construct a new `https://developer.android.com/reference/kotlin/androidx/navigation/fragment/FragmentNavigator.Destination`

| Parameters |
|---|---|
| `id: @https://developer.android.com/reference/kotlin/androidx/annotation/IdRes https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | the destination's unique id |

### NavGraphBuilder.fragment

Artifact: [androidx.navigation:navigation-fragment](https://developer.android.com/jetpack/androidx/releases/navigation) [View Source](https://cs.android.com/search?q=file:androidx/navigation/fragment/FragmentNavigatorDestinationBuilder.kt+function:fragment)

```
inline fun <F : Fragment> NavGraphBuilder.fragment(route: String): Unit
```

Construct a new `https://developer.android.com/reference/kotlin/androidx/navigation/fragment/FragmentNavigator.Destination`

| Parameters |
|---|---|
| `route: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | the destination's unique route |

### NavGraphBuilder.fragment

Artifact: [androidx.navigation:navigation-fragment](https://developer.android.com/jetpack/androidx/releases/navigation) [View Source](https://cs.android.com/search?q=file:androidx/navigation/fragment/FragmentNavigatorDestinationBuilder.kt+function:fragment)

```
inline fun <F : Fragment, T : Any> NavGraphBuilder.fragment(
    typeMap: Map<KType, NavType<*>> = emptyMap()
): Unit
```

Construct a new `https://developer.android.com/reference/kotlin/androidx/navigation/fragment/FragmentNavigator.Destination`

| Parameters |
|---|---|
| `<T : https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html>` | the destination's unique route from a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html` |
| `typeMap: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-map/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-type/index.html, https://developer.android.com/reference/kotlin/androidx/navigation/NavType<*>> = emptyMap()` | map of destination arguments' kotlin type `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-type/index.html` to its respective custom `https://developer.android.com/reference/kotlin/androidx/navigation/NavType`. May be empty if `https://developer.android.com/reference/kotlin/androidx/navigation/fragment/package-summary#(androidx.navigation.NavGraphBuilder).fragment(kotlin.collections.Map)` does not use custom NavTypes. |

### NavGraphBuilder.fragment

Artifact: [androidx.navigation:navigation-fragment](https://developer.android.com/jetpack/androidx/releases/navigation) [View Source](https://cs.android.com/search?q=file:androidx/navigation/fragment/FragmentNavigatorDestinationBuilder.kt+function:fragment)

```
inline fun <F : Fragment> NavGraphBuilder.[fragment](https://developer.android.com/reference/kotlin/androidx/navigation/fragment/package-summary#(androidx.navigation.NavGraphBuilder).fragment(kotlin.Int,kotlin.Function1))(id: @IdRes Int, builder: FragmentNavigatorDestinationBuilder.() -> Unit): Unit
```

> [!CAUTION]
> **This function is deprecated.**   
> Use routes to create your FragmentDestination instead, use this instead:
>
> ```kotlin
> fragment<F>(route = id.toString()) { builder.invoke() }
> ```

Construct a new `https://developer.android.com/reference/kotlin/androidx/navigation/fragment/FragmentNavigator.Destination`

| Parameters |
|---|---|
| `id: @https://developer.android.com/reference/kotlin/androidx/annotation/IdRes https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | the destination's unique id |
| `builder: https://developer.android.com/reference/kotlin/androidx/navigation/fragment/FragmentNavigatorDestinationBuilder.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | the builder used to construct the fragment destination |

### NavGraphBuilder.fragment

Artifact: [androidx.navigation:navigation-fragment](https://developer.android.com/jetpack/androidx/releases/navigation) [View Source](https://cs.android.com/search?q=file:androidx/navigation/fragment/FragmentNavigatorDestinationBuilder.kt+function:fragment)

```
inline fun <F : Fragment> NavGraphBuilder.fragment(route: String, builder: FragmentNavigatorDestinationBuilder.() -> Unit): Unit
```

Construct a new `https://developer.android.com/reference/kotlin/androidx/navigation/fragment/FragmentNavigator.Destination`

| Parameters |
|---|---|
| `route: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | the destination's unique route |
| `builder: https://developer.android.com/reference/kotlin/androidx/navigation/fragment/FragmentNavigatorDestinationBuilder.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | the builder used to construct the fragment destination |

### NavGraphBuilder.fragment

Artifact: [androidx.navigation:navigation-fragment](https://developer.android.com/jetpack/androidx/releases/navigation) [View Source](https://cs.android.com/search?q=file:androidx/navigation/fragment/FragmentNavigatorDestinationBuilder.kt+function:fragment)

```
inline fun <F : Fragment, T : Any> NavGraphBuilder.fragment(
    typeMap: Map<KType, NavType<*>> = emptyMap(),
    builder: FragmentNavigatorDestinationBuilder.() -> Unit
): Unit
```

Construct a new `https://developer.android.com/reference/kotlin/androidx/navigation/fragment/FragmentNavigator.Destination`

| Parameters |
|---|---|
| `<T : https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html>` | the destination's unique route from a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html` |
| `typeMap: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-map/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-type/index.html, https://developer.android.com/reference/kotlin/androidx/navigation/NavType<*>> = emptyMap()` | map of destination arguments' kotlin type `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-type/index.html` to its respective custom `https://developer.android.com/reference/kotlin/androidx/navigation/NavType`. May be empty if `https://developer.android.com/reference/kotlin/androidx/navigation/fragment/package-summary#(androidx.navigation.NavGraphBuilder).fragment(kotlin.collections.Map,kotlin.Function1)` does not use custom NavTypes. |
| `builder: https://developer.android.com/reference/kotlin/androidx/navigation/fragment/FragmentNavigatorDestinationBuilder.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | the builder used to construct the fragment destination |

### Fragment.navArgs

Artifact: [androidx.navigation:navigation-fragment](https://developer.android.com/jetpack/androidx/releases/navigation) [View Source](https://cs.android.com/search?q=file:androidx/navigation/fragment/FragmentNavArgsLazy.kt+function:navArgs)

```
@MainThread
inline fun <Args : NavArgs> Fragment.navArgs(): NavArgsLazy<Args>
```

Returns a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-lazy/index.html` delegate to access the Fragment's arguments as an `https://developer.android.com/reference/kotlin/androidx/navigation/fragment/package-summary#(androidx.fragment.app.Fragment).navArgs()` instance.

It is strongly recommended that this method only be used when the Fragment is created by `https://developer.android.com/reference/kotlin/androidx/navigation/NavController#navigate(kotlin.Int)` with the corresponding `https://developer.android.com/reference/kotlin/androidx/navigation/NavDirections` object, which ensures that the required arguments are present.

```kotlin
class MyFragment : Fragment() {
    val args: MyFragmentArgs by navArgs()
}
```

This property can be accessed only after the Fragment's constructor.