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

*** ** * ** ***

<br />

```
public inner class PlaybackTransportRowPresenter.ViewHolder extends PlaybackRowPresenter.ViewHolder implements PlaybackSeekUi
```

<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.PlaybackRowPresenter.ViewHolder](https://developer.android.com/reference/androidx/leanback/widget/PlaybackRowPresenter.ViewHolder) ||
|   |   |   | ↳ | [androidx.leanback.widget.PlaybackTransportRowPresenter.ViewHolder](https://developer.android.com/reference/androidx/leanback/widget/PlaybackTransportRowPresenter.ViewHolder) |

*** ** * ** ***

A ViewHolder for the PlaybackControlsRow supporting seek UI.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/leanback/widget/PlaybackTransportRowPresenter.ViewHolder#ViewHolder(android.view.View,androidx.leanback.widget.Presenter)(https://developer.android.com/reference/android/view/View.html rootView, https://developer.android.com/reference/androidx/leanback/widget/Presenter descriptionPresenter)` Constructor of ViewHolder of PlaybackTransportRowPresenter |

| ### Public methods |
|---|---|
| `final https://developer.android.com/reference/android/widget/TextView.html` | `https://developer.android.com/reference/androidx/leanback/widget/PlaybackTransportRowPresenter.ViewHolder#getCurrentPositionView()()` Returns the TextView that showing current position label. |
| `final https://developer.android.com/reference/androidx/leanback/widget/Presenter.ViewHolder` | `https://developer.android.com/reference/androidx/leanback/widget/PlaybackTransportRowPresenter.ViewHolder#getDescriptionViewHolder()()` |
| `final https://developer.android.com/reference/android/widget/TextView.html` | `https://developer.android.com/reference/androidx/leanback/widget/PlaybackTransportRowPresenter.ViewHolder#getDurationView()()` Returns the TextView that showing total time label. |
| `void` | `https://developer.android.com/reference/androidx/leanback/widget/PlaybackTransportRowPresenter.ViewHolder#setPlaybackSeekUiClient(androidx.leanback.widget.PlaybackSeekUi.Client)(https://developer.android.com/reference/androidx/leanback/widget/PlaybackSeekUi.Client client)` Interface to be implemented by UI widget to support PlaybackSeekUi. |

| ### Protected methods |
|---|---|
| `void` | `https://developer.android.com/reference/androidx/leanback/widget/PlaybackTransportRowPresenter.ViewHolder#onSetCurrentPositionLabel(long)(long currentTimeMs)` Called to update current time label. |
| `void` | `https://developer.android.com/reference/androidx/leanback/widget/PlaybackTransportRowPresenter.ViewHolder#onSetDurationLabel(long)(long totalTimeMs)` Called to update total time label. |

### 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.
`@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/RowPresenter.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/RowPresenter.ViewHolder#getSelectedItemViewHolder()()`

Return `https://developer.android.com/reference/androidx/leanback/widget/RowPresenter.ViewHolder` of currently selected item inside a row ViewHolder.
`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(View rootView, Presenter descriptionPresenter)
```

Constructor of ViewHolder of PlaybackTransportRowPresenter

| Parameters |
|---|---|
| `https://developer.android.com/reference/android/view/View.html rootView` | Root view of the ViewHolder. |
| `https://developer.android.com/reference/androidx/leanback/widget/Presenter descriptionPresenter` | The presenter that will be used to create description ViewHolder. The description view will be added into tree. |

## Public methods

### getCurrentPositionView

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

```
public final TextView getCurrentPositionView()
```

Returns the TextView that showing current position label. This method might be used in `https://developer.android.com/reference/androidx/leanback/widget/PlaybackTransportRowPresenter.ViewHolder#onSetCurrentPositionLabel(long)`.

| Returns |
|---|---|
| `https://developer.android.com/reference/android/widget/TextView.html` | The TextView that showing current position label. |

### getDescriptionViewHolder

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

```
public final Presenter.ViewHolder getDescriptionViewHolder()
```

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/leanback/widget/Presenter.ViewHolder` | The ViewHolder for description. |

### getDurationView

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

```
public final TextView getDurationView()
```

Returns the TextView that showing total time label. This method might be used in `https://developer.android.com/reference/androidx/leanback/widget/PlaybackTransportRowPresenter.ViewHolder#onSetDurationLabel(long)`.

| Returns |
|---|---|
| `https://developer.android.com/reference/android/widget/TextView.html` | The TextView that showing total time label. |

### setPlaybackSeekUiClient

```
public void setPlaybackSeekUiClient(PlaybackSeekUi.Client client)
```

Interface to be implemented by UI widget to support PlaybackSeekUi.

## Protected methods

### onSetCurrentPositionLabel

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

```
protected void onSetCurrentPositionLabel(long currentTimeMs)
```

Called to update current time label. Default implementation updates the TextView `https://developer.android.com/reference/androidx/leanback/widget/PlaybackTransportRowPresenter.ViewHolder#getCurrentPositionView()`. Subclass might override.

| Parameters |
|---|---|
| `long currentTimeMs` | Current playback position in milliseconds. |

### onSetDurationLabel

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

```
protected void onSetDurationLabel(long totalTimeMs)
```

Called to update total time label. Default implementation updates the TextView `https://developer.android.com/reference/androidx/leanback/widget/PlaybackTransportRowPresenter.ViewHolder#getDurationView()`. Subclass might override.

| Parameters |
|---|---|
| `long totalTimeMs` | Total duration of the media in milliseconds. |