# ListRowPresenter.ViewHolder

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

*** ** * ** ***

<br />

```
public class ListRowPresenter.ViewHolder extends RowPresenter.ViewHolder
```

<br />

|---|---|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object.html) ||||
| ↳ | [androidx.leanback.widget.Presenter.ViewHolder](https://developer.android.com/reference/androidx/leanback/widget/Presenter.ViewHolder) |||
|   | ↳ | [androidx.leanback.widget.RowPresenter.ViewHolder](https://developer.android.com/reference/androidx/leanback/widget/RowPresenter.ViewHolder) ||
|   |   | ↳ | [androidx.leanback.widget.ListRowPresenter.ViewHolder](https://developer.android.com/reference/androidx/leanback/widget/ListRowPresenter.ViewHolder) |

*** ** * ** ***

ViewHolder for the ListRowPresenter.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/leanback/widget/ListRowPresenter.ViewHolder#ViewHolder(android.view.View,androidx.leanback.widget.HorizontalGridView,androidx.leanback.widget.ListRowPresenter)( @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/view/View.html rootView, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/widget/HorizontalGridView gridView, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/widget/ListRowPresenter p )` |

| ### Public methods |
|---|---|
| `final @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/widget/ItemBridgeAdapter` | `https://developer.android.com/reference/androidx/leanback/widget/ListRowPresenter.ViewHolder#getBridgeAdapter()()` Gets ItemBridgeAdapter that creates the list of items. |
| `final @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/widget/HorizontalGridView` | `https://developer.android.com/reference/androidx/leanback/widget/ListRowPresenter.ViewHolder#getGridView()()` Gets HorizontalGridView that shows a list of items. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/androidx/leanback/widget/Presenter.ViewHolder` | `https://developer.android.com/reference/androidx/leanback/widget/ListRowPresenter.ViewHolder#getItemViewHolder(int)(int position)` Gets ViewHolder at a position in adapter. |
| `final @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/widget/ListRowPresenter` | `https://developer.android.com/reference/androidx/leanback/widget/ListRowPresenter.ViewHolder#getListRowPresenter()()` Gets ListRowPresenter that creates this ViewHolder. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/java/lang/Object.html` | `https://developer.android.com/reference/androidx/leanback/widget/ListRowPresenter.ViewHolder#getSelectedItem()()` Return currently selected item inside a row ViewHolder. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/androidx/leanback/widget/Presenter.ViewHolder` | `https://developer.android.com/reference/androidx/leanback/widget/ListRowPresenter.ViewHolder#getSelectedItemViewHolder()()` Return `https://developer.android.com/reference/androidx/leanback/widget/RowPresenter.ViewHolder` of currently selected item inside a row ViewHolder. |
| `int` | `https://developer.android.com/reference/androidx/leanback/widget/ListRowPresenter.ViewHolder#getSelectedPosition()()` Gets selected item position in adapter. |

### Inherited fields

From [androidx.leanback.widget.Presenter.ViewHolder](https://developer.android.com/reference/androidx/leanback/widget/Presenter.ViewHolder) `final https://developer.android.com/reference/android/view/View.html` `https://developer.android.com/reference/androidx/leanback/widget/Presenter.ViewHolder#view()` From [androidx.leanback.widget.RowPresenter.ViewHolder](https://developer.android.com/reference/androidx/leanback/widget/RowPresenter.ViewHolder) `final https://developer.android.com/reference/androidx/leanback/graphics/ColorOverlayDimmer` `https://developer.android.com/reference/androidx/leanback/widget/RowPresenter.ViewHolder#mColorDimmer()`

### Inherited methods

From [androidx.leanback.widget.FacetProvider](https://developer.android.com/reference/androidx/leanback/widget/FacetProvider) `abstract @https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/java/lang/Object.html` `https://developer.android.com/reference/androidx/leanback/widget/FacetProvider#getFacet(java.lang.Class<?>)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/Class.html<@https://developer.android.com/reference/androidx/annotation/NonNull ?> facetClass)`

Queries optional implemented facet.
From [androidx.leanback.widget.Presenter.ViewHolder](https://developer.android.com/reference/androidx/leanback/widget/Presenter.ViewHolder) `final https://developer.android.com/reference/java/lang/Object.html` `https://developer.android.com/reference/androidx/leanback/widget/Presenter.ViewHolder#getFacet(java.lang.Class<?>)(https://developer.android.com/reference/java/lang/Class.html<@https://developer.android.com/reference/androidx/annotation/NonNull ?> facetClass)`

Queries optional implemented facet.
`final void` `https://developer.android.com/reference/androidx/leanback/widget/Presenter.ViewHolder#setFacet(java.lang.Class<?>,java.lang.Object)(https://developer.android.com/reference/java/lang/Class.html<@https://developer.android.com/reference/androidx/annotation/NonNull ?> facetClass, https://developer.android.com/reference/java/lang/Object.html facetImpl)`

Sets dynamic implemented facet in addition to basic ViewHolder functions.
From [androidx.leanback.widget.RowPresenter.ViewHolder](https://developer.android.com/reference/androidx/leanback/widget/RowPresenter.ViewHolder) `final https://developer.android.com/reference/androidx/leanback/widget/RowHeaderPresenter.ViewHolder` `https://developer.android.com/reference/androidx/leanback/widget/RowPresenter.ViewHolder#getHeaderViewHolder()()`

Returns the view holder for the Row header for this Row.
`final https://developer.android.com/reference/androidx/leanback/widget/BaseOnItemViewClickedListener` `https://developer.android.com/reference/androidx/leanback/widget/RowPresenter.ViewHolder#getOnItemViewClickedListener()()`

Returns the listener for item click event.
`final https://developer.android.com/reference/androidx/leanback/widget/BaseOnItemViewSelectedListener` `https://developer.android.com/reference/androidx/leanback/widget/RowPresenter.ViewHolder#getOnItemViewSelectedListener()()`

Returns the listener for item or row selection.
`https://developer.android.com/reference/android/view/View.OnKeyListener.html` `https://developer.android.com/reference/androidx/leanback/widget/RowPresenter.ViewHolder#getOnKeyListener()()`

Returns the key listener.
`final https://developer.android.com/reference/androidx/leanback/widget/Row` `https://developer.android.com/reference/androidx/leanback/widget/RowPresenter.ViewHolder#getRow()()`

Returns the row bound to this ViewHolder.
`final https://developer.android.com/reference/java/lang/Object.html` `https://developer.android.com/reference/androidx/leanback/widget/RowPresenter.ViewHolder#getRowObject()()`

Returns the Row object bound to this ViewHolder.
`final float` `https://developer.android.com/reference/androidx/leanback/widget/RowPresenter.ViewHolder#getSelectLevel()()`

Returns the current selection level of the Row.
`final boolean` `https://developer.android.com/reference/androidx/leanback/widget/RowPresenter.ViewHolder#isExpanded()()`

Returns whether the Row is in its expanded state.
`final boolean` `https://developer.android.com/reference/androidx/leanback/widget/RowPresenter.ViewHolder#isSelected()()`

Returns whether the Row is selected.
`final void` `https://developer.android.com/reference/androidx/leanback/widget/RowPresenter.ViewHolder#setActivated(boolean)(boolean activated)`

Sets the row view's activated status.
`final void` `https://developer.android.com/reference/androidx/leanback/widget/RowPresenter.ViewHolder#setOnItemViewClickedListener(androidx.leanback.widget.BaseOnItemViewClickedListener)(https://developer.android.com/reference/androidx/leanback/widget/BaseOnItemViewClickedListener listener)`

Sets the listener for item click event.
`final void` `https://developer.android.com/reference/androidx/leanback/widget/RowPresenter.ViewHolder#setOnItemViewSelectedListener(androidx.leanback.widget.BaseOnItemViewSelectedListener)(https://developer.android.com/reference/androidx/leanback/widget/BaseOnItemViewSelectedListener listener)`

Sets the listener for item or row selection.
`void` `https://developer.android.com/reference/androidx/leanback/widget/RowPresenter.ViewHolder#setOnKeyListener(android.view.View.OnKeyListener)(https://developer.android.com/reference/android/view/View.OnKeyListener.html keyListener)`

Sets a key listener.
`final void` `https://developer.android.com/reference/androidx/leanback/widget/RowPresenter.ViewHolder#syncActivatedStatus(android.view.View)(https://developer.android.com/reference/android/view/View.html view)`

Synchronizes the activated status of view to the last value passed through `https://developer.android.com/reference/androidx/leanback/widget/RowPresenter.ViewHolder#setActivated(boolean)`.

## Public constructors

### ViewHolder

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

```
public ViewHolder(
    @NonNull View rootView,
    @NonNull HorizontalGridView gridView,
    @NonNull ListRowPresenter p
)
```

## Public methods

### getBridgeAdapter

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

```
public final @NonNull ItemBridgeAdapter getBridgeAdapter()
```

Gets ItemBridgeAdapter that creates the list of items.

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/widget/ItemBridgeAdapter` | ItemBridgeAdapter that creates the list of items. |

### getGridView

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

```
public final @NonNull HorizontalGridView getGridView()
```

Gets HorizontalGridView that shows a list of items.

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/widget/HorizontalGridView` | HorizontalGridView that shows a list of items. |

### getItemViewHolder

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

```
public @Nullable Presenter.ViewHolder getItemViewHolder(int position)
```

Gets ViewHolder at a position in adapter. Returns null if the item does not exist or the item is not bound to a view.

| Parameters |
|---|---|
| `int position` | Position of the item in adapter. |

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/androidx/leanback/widget/Presenter.ViewHolder` | ViewHolder bounds to the item. |

### getListRowPresenter

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

```
public final @NonNull ListRowPresenter getListRowPresenter()
```

Gets ListRowPresenter that creates this ViewHolder.

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/widget/ListRowPresenter` | ListRowPresenter that creates this ViewHolder. |

### getSelectedItem

```
public @Nullable Object getSelectedItem()
```

Return currently selected item inside a row ViewHolder.

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/java/lang/Object.html` | The selected item. |

### getSelectedItemViewHolder

```
public @Nullable Presenter.ViewHolder getSelectedItemViewHolder()
```

Return `https://developer.android.com/reference/androidx/leanback/widget/RowPresenter.ViewHolder` of currently selected item inside a row ViewHolder.

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/androidx/leanback/widget/Presenter.ViewHolder` | The selected item's ViewHolder. |

### getSelectedPosition

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

```
public int getSelectedPosition()
```

Gets selected item position in adapter.

| Returns |
|---|---|
| `int` | Selected item position in adapter. |