# RowPresenter.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/RowPresenter.java+class:androidx.leanback.widget.RowPresenter.ViewHolder) Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)

*** ** * ** ***


```
class RowPresenter.ViewHolder : Presenter.ViewHolder
```

<br />

|---|---|---|
| [kotlin.Any](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html) |||
| ↳ | [androidx.leanback.widget.Presenter.ViewHolder](https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter.ViewHolder) ||
|   | ↳ | [androidx.leanback.widget.RowPresenter.ViewHolder](https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter.ViewHolder) |

Known direct subclasses [AbstractMediaItemPresenter.ViewHolder](https://developer.android.com/reference/kotlin/androidx/leanback/widget/AbstractMediaItemPresenter.ViewHolder), [AbstractMediaListHeaderPresenter.ViewHolder](https://developer.android.com/reference/kotlin/androidx/leanback/widget/AbstractMediaListHeaderPresenter.ViewHolder), [DetailsOverviewRowPresenter.ViewHolder](https://developer.android.com/reference/kotlin/androidx/leanback/widget/DetailsOverviewRowPresenter.ViewHolder), [FullWidthDetailsOverviewRowPresenter.ViewHolder](https://developer.android.com/reference/kotlin/androidx/leanback/widget/FullWidthDetailsOverviewRowPresenter.ViewHolder), [ListRowPresenter.ViewHolder](https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter.ViewHolder), [PlaybackRowPresenter.ViewHolder](https://developer.android.com/reference/kotlin/androidx/leanback/widget/PlaybackRowPresenter.ViewHolder)

|---|---|
| `https://developer.android.com/reference/kotlin/androidx/leanback/widget/AbstractMediaItemPresenter.ViewHolder` | The ViewHolder for the `https://developer.android.com/reference/kotlin/androidx/leanback/widget/AbstractMediaItemPresenter`. |
| `https://developer.android.com/reference/kotlin/androidx/leanback/widget/AbstractMediaListHeaderPresenter.ViewHolder` | The ViewHolder for the `https://developer.android.com/reference/kotlin/androidx/leanback/widget/AbstractMediaListHeaderPresenter`. |
| `https://developer.android.com/reference/kotlin/androidx/leanback/widget/DetailsOverviewRowPresenter.ViewHolder` | **This class is deprecated.** Deprecated in Java |
| `https://developer.android.com/reference/kotlin/androidx/leanback/widget/FullWidthDetailsOverviewRowPresenter.ViewHolder` | A ViewHolder for the DetailsOverviewRow. |
| `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter.ViewHolder` | ViewHolder for the ListRowPresenter. |
| `https://developer.android.com/reference/kotlin/androidx/leanback/widget/PlaybackRowPresenter.ViewHolder` | This container is used for trapping click events and passing them to the playback controls. |

Known indirect subclasses [PlaybackControlsRowPresenter.ViewHolder](https://developer.android.com/reference/kotlin/androidx/leanback/widget/PlaybackControlsRowPresenter.ViewHolder), [PlaybackTransportRowPresenter.ViewHolder](https://developer.android.com/reference/kotlin/androidx/leanback/widget/PlaybackTransportRowPresenter.ViewHolder)

|---|---|
| `https://developer.android.com/reference/kotlin/androidx/leanback/widget/PlaybackControlsRowPresenter.ViewHolder` | A ViewHolder for the PlaybackControlsRow. |
| `https://developer.android.com/reference/kotlin/androidx/leanback/widget/PlaybackTransportRowPresenter.ViewHolder` | A ViewHolder for the PlaybackControlsRow supporting seek UI. |

*** ** * ** ***

A ViewHolder for a `https://developer.android.com/reference/kotlin/androidx/leanback/widget/Row`.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter.ViewHolder#ViewHolder(android.view.View)(view: https://developer.android.com/reference/android/view/View.html!)` Constructor for ViewHolder. |

| ### Public functions |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowHeaderPresenter.ViewHolder!` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter.ViewHolder#getHeaderViewHolder()()` Returns the view holder for the Row header for this Row. |
| `https://developer.android.com/reference/kotlin/androidx/leanback/widget/BaseOnItemViewClickedListener!` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter.ViewHolder#getOnItemViewClickedListener()()` Returns the listener for item click event. |
| `https://developer.android.com/reference/kotlin/androidx/leanback/widget/BaseOnItemViewSelectedListener!` | `https://developer.android.com/reference/kotlin/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/kotlin/androidx/leanback/widget/RowPresenter.ViewHolder#getOnKeyListener()()` Returns the key listener. |
| `https://developer.android.com/reference/kotlin/androidx/leanback/widget/Row!` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter.ViewHolder#getRow()()` Returns the row bound to this ViewHolder. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html!` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter.ViewHolder#getRowObject()()` Returns the Row object bound to this ViewHolder. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter.ViewHolder#getSelectLevel()()` Returns the current selection level of the Row. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter.ViewHolder#getSelectedItem()()` Return currently selected item inside a row ViewHolder. |
| `https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter.ViewHolder?` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter.ViewHolder#getSelectedItemViewHolder()()` Return `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter.ViewHolder` of currently selected item inside a row ViewHolder. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter.ViewHolder#isExpanded()()` Returns whether the Row is in its expanded state. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter.ViewHolder#isSelected()()` Returns whether the Row is selected. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter.ViewHolder#setActivated(boolean)(activated: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)` Sets the row view's activated status. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter.ViewHolder#setOnItemViewClickedListener(androidx.leanback.widget.BaseOnItemViewClickedListener)(listener: https://developer.android.com/reference/kotlin/androidx/leanback/widget/BaseOnItemViewClickedListener!)` Sets the listener for item click event. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter.ViewHolder#setOnItemViewSelectedListener(androidx.leanback.widget.BaseOnItemViewSelectedListener)(listener: https://developer.android.com/reference/kotlin/androidx/leanback/widget/BaseOnItemViewSelectedListener!)` Sets the listener for item or row selection. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter.ViewHolder#setOnKeyListener(android.view.View.OnKeyListener)(keyListener: https://developer.android.com/reference/android/view/View.OnKeyListener.html!)` Sets a key listener. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter.ViewHolder#syncActivatedStatus(android.view.View)(view: https://developer.android.com/reference/android/view/View.html!)` Synchronizes the activated status of view to the last value passed through `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter.ViewHolder#setActivated(boolean)`. |

| ### Protected properties |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/leanback/graphics/ColorOverlayDimmer!` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter.ViewHolder#mColorDimmer()` |

### Inherited functions

From [androidx.leanback.widget.FacetProvider](https://developer.android.com/reference/kotlin/androidx/leanback/widget/FacetProvider) `abstract https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?` `https://developer.android.com/reference/kotlin/androidx/leanback/widget/FacetProvider#getFacet(java.lang.Class<?>)(facetClass: https://developer.android.com/reference/java/lang/Class.html<*>)`

Queries optional implemented facet.
From [androidx.leanback.widget.Presenter.ViewHolder](https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter.ViewHolder) `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html!` `https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter.ViewHolder#getFacet(java.lang.Class<?>)(facetClass: https://developer.android.com/reference/java/lang/Class.html<*>!)`

Queries optional implemented facet.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter.ViewHolder#setFacet(java.lang.Class<?>,java.lang.Object)(facetClass: https://developer.android.com/reference/java/lang/Class.html<*>!, facetImpl: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html!)`

Sets dynamic implemented facet in addition to basic ViewHolder functions.

### Inherited properties

From [androidx.leanback.widget.Presenter.ViewHolder](https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter.ViewHolder) `https://developer.android.com/reference/android/view/View.html!` `https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter.ViewHolder#view()`

## Public constructors

### ViewHolder

```
ViewHolder(view: View!)
```

Constructor for ViewHolder.

| Parameters |
|---|---|
| `view: https://developer.android.com/reference/android/view/View.html!` | The View bound to the Row. |

## Public functions

### getHeaderViewHolder

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

```
fun getHeaderViewHolder(): RowHeaderPresenter.ViewHolder!
```

Returns the view holder for the Row header for this Row.

### getOnItemViewClickedListener

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

```
fun getOnItemViewClickedListener(): BaseOnItemViewClickedListener!
```

Returns the listener for item click event.

### getOnItemViewSelectedListener

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

```
fun getOnItemViewSelectedListener(): BaseOnItemViewSelectedListener!
```

Returns the listener for item or row selection.

### getOnKeyListener

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

```
fun getOnKeyListener(): View.OnKeyListener!
```

Returns the key listener.

### getRow

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

```
fun getRow(): Row!
```

Returns the row bound to this ViewHolder. Returns null if the row is not an instance of `https://developer.android.com/reference/kotlin/androidx/leanback/widget/Row`.

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/leanback/widget/Row!` | The row bound to this ViewHolder. Returns null if the row is not an instance of `https://developer.android.com/reference/kotlin/androidx/leanback/widget/Row`. |

### getRowObject

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

```
fun getRowObject(): Any!
```

Returns the Row object bound to this ViewHolder.

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html!` | The row object bound to this ViewHolder. |

### getSelectLevel

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

```
fun getSelectLevel(): Float
```

Returns the current selection level of the Row.

### getSelectedItem

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

```
fun getSelectedItem(): Any?
```

Return currently selected item inside a row ViewHolder.

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?` | The selected item. |

### getSelectedItemViewHolder

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

```
fun getSelectedItemViewHolder(): Presenter.ViewHolder?
```

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

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter.ViewHolder?` | The selected item's ViewHolder. |

### isExpanded

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

```
fun isExpanded(): Boolean
```

Returns whether the Row is in its expanded state.

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | true if the Row is expanded, false otherwise. |

### isSelected

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

```
fun isSelected(): Boolean
```

Returns whether the Row is selected.

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | true if the Row is selected, false otherwise. |

### setActivated

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

```
fun setActivated(activated: Boolean): Unit
```

Sets the row view's activated status. The status will be applied to children through `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter.ViewHolder#syncActivatedStatus(android.view.View)`. Application should only call this function when `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter#getSyncActivatePolicy()` is `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter#SYNC_ACTIVATED_CUSTOM()`; otherwise the value will be overwritten when expanded or selected status changes.

### setOnItemViewClickedListener

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

```
fun setOnItemViewClickedListener(listener: BaseOnItemViewClickedListener!): Unit
```

Sets the listener for item click event. RowPresenter does nothing but subclass of RowPresenter may fire item click event if it has the concept of item. OnItemViewClickedListener will override `https://developer.android.com/reference/android/view/View.OnClickListener.html` that item presenter sets during `https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter#onCreateViewHolder(android.view.ViewGroup)`.

### setOnItemViewSelectedListener

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

```
fun setOnItemViewSelectedListener(listener: BaseOnItemViewSelectedListener!): Unit
```

Sets the listener for item or row selection. RowPresenter fires row selection event with null item. A subclass of RowPresenter e.g. `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter` may fire a selection event with selected item.

### setOnKeyListener

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

```
fun setOnKeyListener(keyListener: View.OnKeyListener!): Unit
```

Sets a key listener.

### syncActivatedStatus

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

```
fun syncActivatedStatus(view: View!): Unit
```

Synchronizes the activated status of view to the last value passed through `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter.ViewHolder#setActivated(boolean)`. No operation if `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter.ViewHolder#setActivated(boolean)` is never called. Normally application does not need to call this method, `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter` automatically calls this method when a child is attached to list row. However if application writes its own custom RowPresenter, it should call this method when attaches a child to the row view.

## Protected properties

### mColorDimmer

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

```
protected val mColorDimmer: ColorOverlayDimmer!
```