# NavArgument.Builder

# NavArgument.Builder

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

*** ** * ** ***

Kotlin \|[Java](https://developer.android.com/reference/androidx/navigation/NavArgument.Builder "View this page in Java")
Common/AllAndroid/JVM
  - Cmn  

  ```
  class NavArgument.Builder
  ```

*** ** * ** ***

A builder for constructing [NavArgument](https://developer.android.com/reference/kotlin/androidx/navigation/NavArgument) instances.

## Summary

|                                             ### Public constructors                                             |
|-----------------------------------------------------------------------------------------------------------------|-----|
| [Builder](https://developer.android.com/reference/kotlin/androidx/navigation/NavArgument.Builder#Builder())`()` | Cmn |

|                                             ### Public functions                                              |
|---------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----|
| [NavArgument](https://developer.android.com/reference/kotlin/androidx/navigation/NavArgument)                 | [build](https://developer.android.com/reference/kotlin/androidx/navigation/NavArgument.Builder#build())`()` Build the NavArgument specified by this builder.                                                                                                                                                                                                    | Cmn |
| [NavArgument.Builder](https://developer.android.com/reference/kotlin/androidx/navigation/NavArgument.Builder) | [setDefaultValue](https://developer.android.com/reference/kotlin/androidx/navigation/NavArgument.Builder#setDefaultValue(kotlin.Any))`(defaultValue: `[Any](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html)`?)` Specify the default value for an argument.                                                                                | Cmn |
| [NavArgument.Builder](https://developer.android.com/reference/kotlin/androidx/navigation/NavArgument.Builder) | [setIsNullable](https://developer.android.com/reference/kotlin/androidx/navigation/NavArgument.Builder#setIsNullable(kotlin.Boolean))`(isNullable: `[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`)` Specify if the argument is nullable.                                                                                 | Cmn |
| [NavArgument.Builder](https://developer.android.com/reference/kotlin/androidx/navigation/NavArgument.Builder) | `<T : `[Any](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html)`?> `[setType](https://developer.android.com/reference/kotlin/androidx/navigation/NavArgument.Builder#setType(androidx.navigation.NavType))`(type: `[NavType](https://developer.android.com/reference/kotlin/androidx/navigation/NavType)`<T>)` Set the type of the argument. | Cmn |

## Public constructors

### Builder

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

```
Builder()
```

## Public functions

### build

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

```
fun build(): NavArgument
```

Build the NavArgument specified by this builder. If the type is not set, the builder will infer the type from the default argument value. If there is no default value, the type will be unspecified.  

|                                            Returns                                            |
|-----------------------------------------------------------------------------------------------|------------------------------------|
| [NavArgument](https://developer.android.com/reference/kotlin/androidx/navigation/NavArgument) | the newly constructed NavArgument. |

### setDefaultValue

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

```
fun setDefaultValue(defaultValue: Any?): NavArgument.Builder
```

Specify the default value for an argument. Calling this at least once will cause the argument to have a default value, even if it is set to null.  

|                                           Parameters                                           |
|------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------|
| `defaultValue: `[Any](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html)`?` | Default value for this argument. Must match NavType if it is specified. |

|                                                    Returns                                                    |
|---------------------------------------------------------------------------------------------------------------|---------------|
| [NavArgument.Builder](https://developer.android.com/reference/kotlin/androidx/navigation/NavArgument.Builder) | This builder. |

### setIsNullable

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

```
fun setIsNullable(isNullable: Boolean): NavArgument.Builder
```

Specify if the argument is nullable. The NavType you set for this argument must allow nullable values.  

|                                            Parameters                                             |
|---------------------------------------------------------------------------------------------------|------------------------------------|
| `isNullable: `[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html) | Argument will be nullable if true. |

|                                                    Returns                                                    |
|---------------------------------------------------------------------------------------------------------------|---------------|
| [NavArgument.Builder](https://developer.android.com/reference/kotlin/androidx/navigation/NavArgument.Builder) | This builder. |

|                                                      See also                                                       |
|---------------------------------------------------------------------------------------------------------------------|---|
| [isNullableAllowed](https://developer.android.com/reference/kotlin/androidx/navigation/NavType#isNullableAllowed()) |   |

### setType

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

```
fun <T : Any?> setType(type: NavType<T>): NavArgument.Builder
```

Set the type of the argument.  

|                                             Parameters                                             |
|----------------------------------------------------------------------------------------------------|-----------------------|
| `type: `[NavType](https://developer.android.com/reference/kotlin/androidx/navigation/NavType)`<T>` | Type of the argument. |

|                                                    Returns                                                    |
|---------------------------------------------------------------------------------------------------------------|---------------|
| [NavArgument.Builder](https://developer.android.com/reference/kotlin/androidx/navigation/NavArgument.Builder) | This builder. |