# NavOptions

Artifact: [androidx.navigation:navigation-common](https://developer.android.com/jetpack/androidx/releases/navigation) [View Source](https://cs.android.com/search?q=file:androidx/navigation/NavOptions.+class:androidx.navigation.NavOptions) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/navigation#1.0.0)

*** ** * ** ***

Common/AllAndroid/JVMJavaScript
- Cmn

  ```
  class NavOptions
  ```

*** ** * ** ***

NavOptions stores special options for navigate actions

## Summary

| ### Nested types |
|---|
| `class https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions.Builder` Builder for constructing new instances of NavOptions. |

| ### Public functions |
|---|---|---|
| `open operator https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions#equals(kotlin.Any)(other: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?)` | android |
| `open operator https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions#equals(kotlin.Any)(other: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?)` | Cmn |
| `@https://developer.android.com/reference/kotlin/androidx/annotation/IdRes https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `[getPopUpTo](https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions#getPopUpTo())()` **This function is deprecated.** Use popUpToId instead. | android |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions#hashCode()()` | android |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions#hashCode()()` | Cmn |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions#isPopUpToInclusive()()` Whether the destination set in `https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions#popUpToRoute()` should be popped from the back stack. | Cmn android |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions#shouldLaunchSingleTop()()` Whether this navigation action should launch as single-top (i.e., there will be at most one copy of a given destination on the top of the back stack). | Cmn android |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions#shouldPopUpToSaveState()()` Whether the back stack and the state of all destinations between the current destination and `https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions#popUpToRoute()` should be saved for later restoration via `https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions.Builder#setRestoreState(kotlin.Boolean)` or the `restoreState` attribute using the same ID as `https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions#popUpToRoute()` (note: this matching ID is true if `https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions#isPopUpToInclusive()` is true. | Cmn android |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions#shouldRestoreState()()` Whether this navigation action should restore any state previously saved by `https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions.Builder#setPopUpTo(kotlin.String,kotlin.Boolean,kotlin.Boolean)` or the `popUpToSaveState` attribute. | Cmn android |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | `https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions#toString()()` | android |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | `https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions#toString()()` | Cmn |

| ### Public properties |
|---|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions#enterAnim()` The custom enter Animation/Animator that should be run. | android |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions#exitAnim()` The custom exit Animation/Animator that should be run. | android |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions#popEnterAnim()` The custom enter Animation/Animator that should be run when this destination is popped from the back stack. | android |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions#popExitAnim()` The custom exit Animation/Animator that should be run when this destination is popped from the back stack. | android |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions#popUpToId()` The destination to pop up to before navigating. | Cmn android |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html?` | `https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions#popUpToRoute()` Route for the destination to pop up to before navigating. | Cmn android |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html<*>?` | `https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions#popUpToRouteClass()` Route from a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html` for the destination to pop up to before navigating. | Cmn android |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?` | `https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions#popUpToRouteObject()` Route from an Object for the destination to pop up to before navigating. | Cmn android |

## Public functions

### equals

android

```
open operator fun equals(other: Any?): Boolean
```

### equals

Cmn

```
open operator fun equals(other: Any?): Boolean
```

### getPopUpTo

android Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/navigation#1.0.0) Deprecated in [2.4.0](https://developer.android.com/jetpack/androidx/releases/navigation#2.4.0)

```
fun [getPopUpTo](https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions#getPopUpTo())(): @IdRes Int
```

> [!CAUTION]
> **This function is deprecated.**   
> Use popUpToId instead, use this instead:
>
> ```kotlin
> popUpToId
> ```

The destination to pop up to before navigating. When set, all non-matching destinations should be popped from the back stack.

| Returns |
|---|---|
| `@https://developer.android.com/reference/kotlin/androidx/annotation/IdRes https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | the destinationId to pop up to, clearing all intervening destinations |

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions.Builder#setPopUpTo(kotlin.Int,kotlin.Boolean,kotlin.Boolean)` |   |
| `https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions#isPopUpToInclusive()` |   |
| `https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions#shouldPopUpToSaveState()` |   |

### hashCode

android

```
open fun hashCode(): Int
```

### hashCode

Cmn

```
open fun hashCode(): Int
```

### isPopUpToInclusive

Cmn android Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/navigation#1.0.0)

```
fun isPopUpToInclusive(): Boolean
```

Whether the destination set in `https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions#popUpToRoute()` should be popped from the back stack.

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions.Builder#setPopUpTo(kotlin.String,kotlin.Boolean,kotlin.Boolean)` |   |
| `https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions#popUpToRoute()` |   |

### shouldLaunchSingleTop

Cmn android Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/navigation#1.0.0)

```
fun shouldLaunchSingleTop(): Boolean
```

Whether this navigation action should launch as single-top (i.e., there will be at most one copy of a given destination on the top of the back stack).

This functions similarly to how `android.content.Intent.FLAG_ACTIVITY_SINGLE_TOP` works with activities.

### shouldPopUpToSaveState

Cmn android Added in [2.4.0](https://developer.android.com/jetpack/androidx/releases/navigation#2.4.0)

```
fun shouldPopUpToSaveState(): Boolean
```

Whether the back stack and the state of all destinations between the current destination and `https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions#popUpToRoute()` should be saved for later restoration via `https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions.Builder#setRestoreState(kotlin.Boolean)` or the `restoreState` attribute using the same ID as `https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions#popUpToRoute()` (note: this matching ID is true if `https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions#isPopUpToInclusive()` is true. If `https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions#isPopUpToInclusive()` is false, this matching ID is the id of the last destination that is popped).

### shouldRestoreState

Cmn android Added in [2.4.0](https://developer.android.com/jetpack/androidx/releases/navigation#2.4.0)

```
fun shouldRestoreState(): Boolean
```

Whether this navigation action should restore any state previously saved by `https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions.Builder#setPopUpTo(kotlin.String,kotlin.Boolean,kotlin.Boolean)` or the `popUpToSaveState` attribute.

### toString

android

```
open fun toString(): String
```

### toString

Cmn

```
open fun toString(): String
```

## Public properties

### enterAnim

android Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/navigation#1.0.0)

```
val enterAnim: Int
```

The custom enter Animation/Animator that should be run.

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | the resource id of a Animation or Animator or -1 if none. |

### exitAnim

android Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/navigation#1.0.0)

```
val exitAnim: Int
```

The custom exit Animation/Animator that should be run.

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | the resource id of a Animation or Animator or -1 if none. |

### popEnterAnim

android Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/navigation#1.0.0)

```
val popEnterAnim: Int
```

The custom enter Animation/Animator that should be run when this destination is popped from the back stack.

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | the resource id of a Animation or Animator or -1 if none. |

### popExitAnim

android Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/navigation#1.0.0)

```
val popExitAnim: Int
```

The custom exit Animation/Animator that should be run when this destination is popped from the back stack.

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | the resource id of a Animation or Animator or -1 if none. |

### popUpToId

Cmn android Added in [2.4.0](https://developer.android.com/jetpack/androidx/releases/navigation#2.4.0)

```
val popUpToId: Int
```

The destination to pop up to before navigating. When set, all non-matching destinations should be popped from the back stack.

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | the destinationId to pop up to, clearing all intervening destinations |

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions.Builder#setPopUpTo(kotlin.String,kotlin.Boolean,kotlin.Boolean)` |   |
| `https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions#isPopUpToInclusive()` |   |
| `https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions#shouldPopUpToSaveState()` |   |

### popUpToRoute

Cmn android Added in [2.4.0](https://developer.android.com/jetpack/androidx/releases/navigation#2.4.0)

```
val popUpToRoute: String?
```

Route for the destination to pop up to before navigating. When set, all non-matching destinations should be popped from the back stack.

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html?` | the destination route to pop up to, clearing all intervening destinations |

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions.Builder#setPopUpTo(kotlin.String,kotlin.Boolean,kotlin.Boolean)` |   |
| `https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions#isPopUpToInclusive()` |   |
| `https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions#shouldPopUpToSaveState()` |   |

### popUpToRouteClass

Cmn android Added in [2.8.0](https://developer.android.com/jetpack/androidx/releases/navigation#2.8.0)

```
val popUpToRouteClass: KClass<*>?
```

Route from a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html` for the destination to pop up to before navigating. When set, all non-matching destinations should be popped from the back stack.

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html<*>?` | the destination route to pop up to, clearing all intervening destinations |

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions.Builder#setPopUpTo(kotlin.String,kotlin.Boolean,kotlin.Boolean)` |   |
| `https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions#isPopUpToInclusive()` |   |
| `https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions#shouldPopUpToSaveState()` |   |

### popUpToRouteObject

Cmn android Added in [2.8.0](https://developer.android.com/jetpack/androidx/releases/navigation#2.8.0)

```
val popUpToRouteObject: Any?
```

Route from an Object for the destination to pop up to before navigating. When set, all non-matching destinations should be popped from the back stack.

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?` | the destination route to pop up to, clearing all intervening destinations |

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions.Builder#setPopUpTo(kotlin.String,kotlin.Boolean,kotlin.Boolean)` |   |
| `https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions#isPopUpToInclusive()` |   |
| `https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions#shouldPopUpToSaveState()` |   |