# CarText.Builder

Artifact: [androidx.car.app:app](https://developer.android.com/jetpack/androidx/releases/car-app) [View Source](https://cs.android.com/search?q=file:androidx/car/app/model/CarText.java+class:androidx.car.app.model.CarText.Builder) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/car-app#1.0.0)

*** ** * ** ***


```
@CarProtocol
public final class CarText.Builder
```

<br />

*** ** * ** ***

A builder of `https://developer.android.com/reference/androidx/car/app/model/CarText`.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/car/app/model/CarText.Builder#Builder(java.lang.CharSequence)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/CharSequence.html text)` Returns a new instance of a `https://developer.android.com/reference/androidx/car/app/model/CarText.Builder`. |

| ### Public methods |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/car/app/model/CarText.Builder` | `@https://developer.android.com/reference/androidx/car/app/annotations/RequiresCarApi(value = 2) https://developer.android.com/reference/androidx/car/app/model/CarText.Builder#addVariant(java.lang.CharSequence)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/CharSequence.html text)` Adds a text variant for the `https://developer.android.com/reference/androidx/car/app/model/CarText` instance. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/car/app/model/CarText` | `https://developer.android.com/reference/androidx/car/app/model/CarText.Builder#build()()` Constructs the `https://developer.android.com/reference/androidx/car/app/model/CarText` defined by this builder. |

## Public constructors

### Builder

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

```
public Builder(@NonNull CharSequence text)
```

Returns a new instance of a `https://developer.android.com/reference/androidx/car/app/model/CarText.Builder`.

Only `https://developer.android.com/reference/androidx/car/app/model/CarSpan` type spans are allowed in a `https://developer.android.com/reference/androidx/car/app/model/CarText`, other spans will be removed from the provided `https://developer.android.com/reference/java/lang/CharSequence.html`.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/CharSequence.html text` | the first variant of the text to use. This represents the app's preferred text variant. Other alternatives can be supplied with `https://developer.android.com/reference/androidx/car/app/model/CarText.Builder#addVariant(java.lang.CharSequence)`. |

| Throws |
|---|---|
| `https://developer.android.com/reference/java/lang/NullPointerException.html` | if the text is `null` |

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/car/app/model/CarText.Builder#addVariant(java.lang.CharSequence)` |   |

## Public methods

### addVariant

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

```
@RequiresCarApi(value = 2)
public @NonNull CarText.Builder addVariant(@NonNull CharSequence text)
```

Adds a text variant for the `https://developer.android.com/reference/androidx/car/app/model/CarText` instance.

Only `https://developer.android.com/reference/androidx/car/app/model/CarSpan` type spans are allowed in a `https://developer.android.com/reference/androidx/car/app/model/CarText`, other spans will be removed from the provided `https://developer.android.com/reference/java/lang/CharSequence.html`.

The text variants should be added in order of preference, from most to least preferred (for instance, from longest to shortest). If the text provided via `https://developer.android.com/reference/androidx/car/app/model/CarText.Builder#Builder(java.lang.CharSequence)` does not fit in the screen, the host will display the first variant that fits in the screen.

For instance, if the variant order is \["long string", "shorter", "short"\], and the screen can fit 7 characters, "shorter" will be chosen. However, if the order is \["short", "shorter", "long string"\], "short" will be chosen, because "short" fits within the 7 character limit.

| Throws |
|---|---|
| `https://developer.android.com/reference/java/lang/NullPointerException.html` | if the text is `null` |

### build

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

```
public @NonNull CarText build()
```

Constructs the `https://developer.android.com/reference/androidx/car/app/model/CarText` defined by this builder.