# ThemedSpinnerAdapter

Artifact: [androidx.appcompat:appcompat](https://developer.android.com/jetpack/androidx/releases/appcompat) [View Source](https://cs.android.com/search?q=file:androidx/appcompat/widget/ThemedSpinnerAdapter.java+class:androidx.appcompat.widget.ThemedSpinnerAdapter) Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/appcompat#1.1.0)

*** ** * ** ***


```
public interface ThemedSpinnerAdapter extends SpinnerAdapter
```

<br />

*** ** * ** ***

An extension of SpinnerAdapter that is capable of inflating drop-down views against a different theme than normal views.

Classes that implement this interface should use the theme provided to `https://developer.android.com/reference/androidx/appcompat/widget/ThemedSpinnerAdapter#setDropDownViewTheme(android.content.res.Resources.Theme)` when creating views in `https://developer.android.com/reference/android/widget/SpinnerAdapter.html#getDropDownView(int, android.view.View, android.view.ViewGroup)`.

The `https://developer.android.com/reference/androidx/appcompat/widget/ThemedSpinnerAdapter.Helper` class is provided to aide implementation in a backwards compatible way.

## Summary

| ### Nested types |
|---|
| `public final class https://developer.android.com/reference/androidx/appcompat/widget/ThemedSpinnerAdapter.Helper` A helper class which allows easy integration of `https://developer.android.com/reference/androidx/appcompat/widget/ThemedSpinnerAdapter` into existing `https://developer.android.com/reference/android/widget/SpinnerAdapter.html`s in a backwards compatible way. |

| ### Public methods |
|---|---|
| `abstract @https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/content/res/Resources.Theme.html` | `https://developer.android.com/reference/androidx/appcompat/widget/ThemedSpinnerAdapter#getDropDownViewTheme()()` Returns the value previously set by a call to `https://developer.android.com/reference/androidx/appcompat/widget/ThemedSpinnerAdapter#setDropDownViewTheme(android.content.res.Resources.Theme)`. |
| `abstract void` | `https://developer.android.com/reference/androidx/appcompat/widget/ThemedSpinnerAdapter#setDropDownViewTheme(android.content.res.Resources.Theme)(@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/content/res/Resources.Theme.html theme)` Sets the `https://developer.android.com/reference/android/content/res/Resources.Theme.html` against which drop-down views are inflated. |

| ### Inherited Constants |
|---|
| From [android.widget.Adapter](https://developer.android.com/reference/android/widget/Adapter.html) |---|---| | `default static final int` | `https://developer.android.com/reference/android/widget/Adapter.html#IGNORE_ITEM_VIEW_TYPE = -1` | | `default static final int` | `https://developer.android.com/reference/android/widget/Adapter.html#NO_SELECTION = -2147483648` | |

| ### Inherited methods |
|---|
| From [android.widget.Adapter](https://developer.android.com/reference/android/widget/Adapter.html) |---|---| | `default CharSequence[]` | `https://developer.android.com/reference/android/widget/Adapter.html#getAutofillOptions()()` | | `abstract int` | `https://developer.android.com/reference/android/widget/Adapter.html#getCount()()` | | `abstract https://developer.android.com/reference/java/lang/Object.html` | `https://developer.android.com/reference/android/widget/Adapter.html#getItem(int)(int p)` | | `abstract long` | `https://developer.android.com/reference/android/widget/Adapter.html#getItemId(int)(int p)` | | `abstract int` | `https://developer.android.com/reference/android/widget/Adapter.html#getItemViewType(int)(int p)` | | `abstract https://developer.android.com/reference/android/view/View.html` | `https://developer.android.com/reference/android/widget/Adapter.html#getView(int, android.view.View, android.view.ViewGroup)(int p, https://developer.android.com/reference/android/view/View.html p1, https://developer.android.com/reference/android/view/ViewGroup.html p2)` | | `abstract int` | `https://developer.android.com/reference/android/widget/Adapter.html#getViewTypeCount()()` | | `abstract boolean` | `https://developer.android.com/reference/android/widget/Adapter.html#hasStableIds()()` | | `abstract boolean` | `https://developer.android.com/reference/android/widget/Adapter.html#isEmpty()()` | | `abstract void` | `https://developer.android.com/reference/android/widget/Adapter.html#registerDataSetObserver(android.database.DataSetObserver)(https://developer.android.com/reference/android/database/DataSetObserver.html p)` | | `abstract void` | `https://developer.android.com/reference/android/widget/Adapter.html#unregisterDataSetObserver(android.database.DataSetObserver)(https://developer.android.com/reference/android/database/DataSetObserver.html p)` | |
| From [android.widget.SpinnerAdapter](https://developer.android.com/reference/android/widget/SpinnerAdapter.html) |---|---| | `abstract https://developer.android.com/reference/android/view/View.html` | `https://developer.android.com/reference/android/widget/SpinnerAdapter.html#getDropDownView(int, android.view.View, android.view.ViewGroup)(int p, https://developer.android.com/reference/android/view/View.html p1, https://developer.android.com/reference/android/view/ViewGroup.html p2)` | |

## Public methods

### getDropDownViewTheme

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

```
abstract @Nullable Resources.Theme getDropDownViewTheme()
```

Returns the value previously set by a call to `https://developer.android.com/reference/androidx/appcompat/widget/ThemedSpinnerAdapter#setDropDownViewTheme(android.content.res.Resources.Theme)`.

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/content/res/Resources.Theme.html` | the `https://developer.android.com/reference/android/content/res/Resources.Theme.html` against which drop-down views are inflated, or `null` if one has not been explicitly set |

### setDropDownViewTheme

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

```
abstract void setDropDownViewTheme(@Nullable Resources.Theme theme)
```

Sets the `https://developer.android.com/reference/android/content/res/Resources.Theme.html` against which drop-down views are inflated.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/content/res/Resources.Theme.html theme` | the context against which to inflate drop-down views, or `null` to use the default theme |

| See also |
|---|---|
| `https://developer.android.com/reference/android/widget/SpinnerAdapter.html#getDropDownView(int, android.view.View, android.view.ViewGroup)` |   |