# NavGraphKt

Added in 2.4.0

*** ** * ** ***


```
public final class NavGraphKt
```

<br />

*** ** * ** ***

## Summary

| ### Public methods |
|---|---|
| `static final boolean` | `https://developer.android.com/reference/androidx/navigation/NavGraphKt#(androidx.navigation.NavGraph).contains(kotlin.Int)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavGraph receiver, @https://developer.android.com/reference/androidx/annotation/IdRes int id)` Returns `true` if a destination with `id` is found in this navigation graph. |
| `static final boolean` | `<T extends https://developer.android.com/reference/java/lang/Object.html> https://developer.android.com/reference/androidx/navigation/NavGraphKt#(androidx.navigation.NavGraph).contains(kotlin.reflect.KClass)( @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavGraph receiver, @https://developer.android.com/reference/androidx/annotation/NonNull https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html<@https://developer.android.com/reference/androidx/annotation/NonNull T> route )` Returns `true` if a destination with `route` is found in this navigation graph. |
| `static final boolean` | `https://developer.android.com/reference/androidx/navigation/NavGraphKt#(androidx.navigation.NavGraph).contains(kotlin.String)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavGraph receiver, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html route)` Returns `true` if a destination with `route` is found in this navigation graph. |
| `static final boolean` | `<T extends https://developer.android.com/reference/java/lang/Object.html> https://developer.android.com/reference/androidx/navigation/NavGraphKt#(androidx.navigation.NavGraph).contains(kotlin.Any)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavGraph receiver, @https://developer.android.com/reference/androidx/annotation/NonNull T route)` Returns `true` if a destination with `route` is found in this navigation graph. |
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavDestination` | `https://developer.android.com/reference/androidx/navigation/NavGraphKt#(androidx.navigation.NavGraph).get(kotlin.Int)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavGraph receiver, @https://developer.android.com/reference/androidx/annotation/IdRes int id)` Returns the destination with `id`. |
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavDestination` | `<T extends https://developer.android.com/reference/java/lang/Object.html> https://developer.android.com/reference/androidx/navigation/NavGraphKt#(androidx.navigation.NavGraph).get(kotlin.reflect.KClass)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavGraph receiver, @https://developer.android.com/reference/androidx/annotation/NonNull https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html<@https://developer.android.com/reference/androidx/annotation/NonNull T> route)` Returns the destination with `route` from `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html`. |
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavDestination` | `https://developer.android.com/reference/androidx/navigation/NavGraphKt#(androidx.navigation.NavGraph).get(kotlin.String)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavGraph receiver, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html route)` Returns the destination with `route`. |
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavDestination` | `<T extends https://developer.android.com/reference/java/lang/Object.html> https://developer.android.com/reference/androidx/navigation/NavGraphKt#(androidx.navigation.NavGraph).get(kotlin.Any)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavGraph receiver, @https://developer.android.com/reference/androidx/annotation/NonNull T route)` Returns the destination with `route` from an Object. |
| `static final void` | `https://developer.android.com/reference/androidx/navigation/NavGraphKt#(androidx.navigation.NavGraph).minusAssign(androidx.navigation.NavDestination)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavGraph receiver, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavDestination node)` Removes `node` from this navigation graph. |
| `static final void` | `https://developer.android.com/reference/androidx/navigation/NavGraphKt#(androidx.navigation.NavGraph).plusAssign(androidx.navigation.NavDestination)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavGraph receiver, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavDestination node)` Adds a destination to this NavGraph. |
| `static final void` | `https://developer.android.com/reference/androidx/navigation/NavGraphKt#(androidx.navigation.NavGraph).plusAssign(androidx.navigation.NavGraph)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavGraph receiver, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavGraph other)` Add all destinations from another collection to this one. |

## Public methods

### contains

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

```
public static final boolean contains(@NonNull NavGraph receiver, @IdRes int id)
```

Returns `true` if a destination with `id` is found in this navigation graph.

### contains

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

```
public static final boolean <T extends Object> contains(
    @NonNull NavGraph receiver,
    @NonNull KClass<@NonNull T> route
)
```

Returns `true` if a destination with `route` is found in this navigation graph.

### contains

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

```
public static final boolean contains(@NonNull NavGraph receiver, @NonNull String route)
```

Returns `true` if a destination with `route` is found in this navigation graph.

### contains

Artifact: [androidx.navigation:navigation-common](https://developer.android.com/jetpack/androidx/releases/navigation) [View Source](https://cs.android.com/search?q=file:androidx/navigation/NavGraph.kt+function:contains) Added in [2.8.0](https://developer.android.com/jetpack/androidx/releases/navigation#2.8.0)

```
public static final boolean <T extends Object> contains(@NonNull NavGraph receiver, @NonNull T route)
```

Returns `true` if a destination with `route` is found in this navigation graph.

### get

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

```
public static final @NonNull NavDestination get(@NonNull NavGraph receiver, @IdRes int id)
```

Returns the destination with `id`.

| Throws |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html` | if no destination is found with that id. |

### get

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

```
public static final @NonNull NavDestination <T extends Object> get(@NonNull NavGraph receiver, @NonNull KClass<@NonNull T> route)
```

Returns the destination with `route` from `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html`.

| Throws |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html` | if no destination is found with that route. |

### get

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

```
public static final @NonNull NavDestination get(@NonNull NavGraph receiver, @NonNull String route)
```

Returns the destination with `route`.

| Throws |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html` | if no destination is found with that route. |

### get

Artifact: [androidx.navigation:navigation-common](https://developer.android.com/jetpack/androidx/releases/navigation) [View Source](https://cs.android.com/search?q=file:androidx/navigation/NavGraph.kt+function:get) Added in [2.8.0](https://developer.android.com/jetpack/androidx/releases/navigation#2.8.0)

```
public static final @NonNull NavDestination <T extends Object> get(@NonNull NavGraph receiver, @NonNull T route)
```

Returns the destination with `route` from an Object.

| Throws |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html` | if no destination is found with that route. |

### minusAssign

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

```
public static final void minusAssign(@NonNull NavGraph receiver, @NonNull NavDestination node)
```

Removes `node` from this navigation graph.

### plusAssign

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

```
public static final void plusAssign(@NonNull NavGraph receiver, @NonNull NavDestination node)
```

Adds a destination to this NavGraph. The destination must have an `https://developer.android.com/reference/androidx/navigation/NavDestination#id()` set.

The destination must not have a `https://developer.android.com/reference/androidx/navigation/NavDestination#parent()` set. If the destination is already part of a `https://developer.android.com/reference/androidx/navigation/NavGraph`, call `https://developer.android.com/reference/androidx/navigation/NavGraph#remove(androidx.navigation.NavDestination)` before calling this method.

<br />

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavDestination node` | destination to add |

### plusAssign

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

```
public static final void plusAssign(@NonNull NavGraph receiver, @NonNull NavGraph other)
```

Add all destinations from another collection to this one. As each destination has at most one parent, the destinations will be removed from the given NavGraph.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavGraph other` | collection of destinations to add. All destinations will be removed from the parameter graph after being added to this graph. |