# BannerSection.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/BannerSection.java+class:androidx.car.app.model.BannerSection.Builder) Added in [1.9.0-alpha03](https://developer.android.com/jetpack/androidx/releases/car-app#1.9.0-alpha03)

*** ** * ** ***


```
public final class BannerSection.Builder extends Section.BaseBuilder<Banner, BannerSection.Builder>
```

<br />

|---|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object.html) |||
| ↳ | [androidx.car.app.model.Section.BaseBuilder](https://developer.android.com/reference/androidx/car/app/model/Section.BaseBuilder)\<[Banner](https://developer.android.com/reference/androidx/car/app/model/Banner), [BannerSection.Builder](https://developer.android.com/reference/androidx/car/app/model/BannerSection.Builder)\> ||
|   | ↳ | [androidx.car.app.model.BannerSection.Builder](https://developer.android.com/reference/androidx/car/app/model/BannerSection.Builder) |

*** ** * ** ***

A builder that constructs `https://developer.android.com/reference/androidx/car/app/model/BannerSection` instances.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/car/app/model/BannerSection.Builder#Builder()()` Create a new `https://developer.android.com/reference/androidx/car/app/model/BannerSection` builder. |

| ### Public methods |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/car/app/model/BannerSection` | `https://developer.android.com/reference/androidx/car/app/model/BannerSection.Builder#build()()` Constructs a new `https://developer.android.com/reference/androidx/car/app/model/BannerSection` from the current state of this builder, throwing exceptions for any invalid state. |

### Inherited methods

From [androidx.car.app.model.Section.BaseBuilder](https://developer.android.com/reference/androidx/car/app/model/Section.BaseBuilder) `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html B` `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html
https://developer.android.com/reference/androidx/car/app/model/Section.BaseBuilder#addItem(T)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html T item)`

Adds an item to this section, appending to the existing list of items.
`@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html B` `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html
https://developer.android.com/reference/androidx/car/app/model/Section.BaseBuilder#clearItems()()`

Delete all items in this section.
`@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html B` `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html
https://developer.android.com/reference/androidx/car/app/model/Section.BaseBuilder#setItems(java.util.List<T>)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/util/List.html<T> items)`

Sets the items for this section, overwriting any other previously set items.
`@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html B` `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html
https://developer.android.com/reference/androidx/car/app/model/Section.BaseBuilder#setNoItemsMessage(androidx.car.app.model.CarText)(@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/androidx/car/app/model/CarText noItemsMessage)`

Sets or clears the optional message to display in this section when there are 0 items added to it.
`@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html B` `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html
https://developer.android.com/reference/androidx/car/app/model/Section.BaseBuilder#setNoItemsMessage(java.lang.CharSequence)(@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/java/lang/CharSequence.html noItemsMessage)`

Sets or clears the optional message to display in this section when there are 0 items added to it.
`@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html B` `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html
https://developer.android.com/reference/androidx/car/app/model/Section.BaseBuilder#setOnItemVisibilityChangedListener(androidx.car.app.model.ItemList.OnItemVisibilityChangedListener)(
@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/androidx/car/app/model/ItemList.OnItemVisibilityChangedListener onItemVisibilityChangedListener
)`

Sets the `https://developer.android.com/reference/androidx/car/app/model/ItemList.OnItemVisibilityChangedListener` to call when the visible items in this `https://developer.android.com/reference/androidx/car/app/model/Section` changes.
`@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html B` `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html
@https://developer.android.com/reference/androidx/car/app/annotations/RequiresCarApi(value = 9)
@https://developer.android.com/reference/androidx/car/app/annotations/ExperimentalCarApi
https://developer.android.com/reference/androidx/car/app/model/Section.BaseBuilder#setSectionHeader(androidx.car.app.model.SectionHeader)(@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/androidx/car/app/model/SectionHeader sectionHeader)`

Sets the `https://developer.android.com/reference/androidx/car/app/model/SectionHeader` for this section.
`@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html B` `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html
https://developer.android.com/reference/androidx/car/app/model/Section.BaseBuilder#setTitle(androidx.car.app.model.CarText)(@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/androidx/car/app/model/CarText title)`

Sets or clears the optional title that appears above the items in this section.
`@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html B` `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html
https://developer.android.com/reference/androidx/car/app/model/Section.BaseBuilder#setTitle(java.lang.CharSequence)(@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/java/lang/CharSequence.html title)`

Sets or clears the optional title that appears above the items in this section.

## Public constructors

### Builder

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

```
public Builder()
```

Create a new `https://developer.android.com/reference/androidx/car/app/model/BannerSection` builder.

## Public methods

### build

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

```
public @NonNull BannerSection build()
```

Constructs a new `https://developer.android.com/reference/androidx/car/app/model/BannerSection` from the current state of this builder, throwing exceptions for any invalid state.

Upon building, this class validates that exactly one Banner is present.

| Throws |
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalStateException.html` | if the section does not contain exactly one `https://developer.android.com/reference/androidx/car/app/model/Banner` |