# NavArgumentBuilder

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

*** ** * ** ***


```
@NavDestinationDsl
public final class NavArgumentBuilder
```

<br />

*** ** * ** ***

DSL for constructing a new `https://developer.android.com/reference/androidx/navigation/NavArgument`

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/navigation/NavArgumentBuilder#NavArgumentBuilder()()` |

| ### Public methods |
|---|---|
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavArgument` | `https://developer.android.com/reference/androidx/navigation/NavArgumentBuilder#build()()` Builds the NavArgument by calling `https://developer.android.com/reference/androidx/navigation/NavArgument.Builder#build()`. |
| `final https://developer.android.com/reference/java/lang/Object.html` | `https://developer.android.com/reference/androidx/navigation/NavArgumentBuilder#getDefaultValue()()` An optional default value for this argument. |
| `final boolean` | `https://developer.android.com/reference/androidx/navigation/NavArgumentBuilder#getNullable()()` Controls if this argument allows null values. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavType<@https://developer.android.com/reference/androidx/annotation/NonNull ?>` | `https://developer.android.com/reference/androidx/navigation/NavArgumentBuilder#getType()()` The NavType for this argument. |
| `final void` | `https://developer.android.com/reference/androidx/navigation/NavArgumentBuilder#setDefaultValue(kotlin.Any)(https://developer.android.com/reference/java/lang/Object.html value)` An optional default value for this argument. |
| `final void` | `https://developer.android.com/reference/androidx/navigation/NavArgumentBuilder#setNullable(kotlin.Boolean)(boolean value)` Controls if this argument allows null values. |
| `final void` | `https://developer.android.com/reference/androidx/navigation/NavArgumentBuilder#setType(androidx.navigation.NavType)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavType<@https://developer.android.com/reference/androidx/annotation/NonNull ?> value)` The NavType for this argument. |

## Public constructors

### NavArgumentBuilder

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

```
public NavArgumentBuilder()
```

## Public methods

### build

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

```
public final @NonNull NavArgument build()
```

Builds the NavArgument by calling `https://developer.android.com/reference/androidx/navigation/NavArgument.Builder#build()`.

### getDefaultValue

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

```
public final Object getDefaultValue()
```

An optional default value for this argument.

Any object that you set here must be compatible with `https://developer.android.com/reference/androidx/navigation/NavArgumentBuilder#type()`, if it was specified.

### getNullable

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

```
public final boolean getNullable()
```

Controls if this argument allows null values.

### getType

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

```
public final @NonNull NavType<@NonNull ?> getType()
```

The NavType for this argument.

If you don't set a type explicitly, it will be inferred from the default value of this argument.

### setDefaultValue

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

```
public final void setDefaultValue(Object value)
```

An optional default value for this argument.

Any object that you set here must be compatible with `https://developer.android.com/reference/androidx/navigation/NavArgumentBuilder#type()`, if it was specified.

### setNullable

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

```
public final void setNullable(boolean value)
```

Controls if this argument allows null values.

### setType

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

```
public final void setType(@NonNull NavType<@NonNull ?> value)
```

The NavType for this argument.

If you don't set a type explicitly, it will be inferred from the default value of this argument.