# ListRowPresenter.SelectItemViewHolderTask

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.SelectItemViewHolderTask) Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)

*** ** * ** ***


```
public class ListRowPresenter.SelectItemViewHolderTask extends Presenter.ViewHolderTask
```

<br />

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

*** ** * ** ***

A task on the ListRowPresenter.ViewHolder that can select an item by position in the HorizontalGridView and perform an optional item task on it.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/leanback/widget/ListRowPresenter.SelectItemViewHolderTask#SelectItemViewHolderTask(int)(int itemPosition)` |

| ### Public methods |
|---|---|
| `int` | `https://developer.android.com/reference/androidx/leanback/widget/ListRowPresenter.SelectItemViewHolderTask#getItemPosition()()` Returns the adapter position of item to select. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/androidx/leanback/widget/Presenter.ViewHolderTask` | `https://developer.android.com/reference/androidx/leanback/widget/ListRowPresenter.SelectItemViewHolderTask#getItemTask()()` Returns optional task to run when the item is selected, null for no task. |
| `boolean` | `https://developer.android.com/reference/androidx/leanback/widget/ListRowPresenter.SelectItemViewHolderTask#isSmoothScroll()()` Returns true if smooth scrolling to the item false otherwise. |
| `void` | `https://developer.android.com/reference/androidx/leanback/widget/ListRowPresenter.SelectItemViewHolderTask#run(androidx.leanback.widget.Presenter.ViewHolder)(@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/androidx/leanback/widget/Presenter.ViewHolder holder)` Called to perform a task on view holder. |
| `void` | `https://developer.android.com/reference/androidx/leanback/widget/ListRowPresenter.SelectItemViewHolderTask#setItemPosition(int)(int itemPosition)` Sets the adapter position of item to select. |
| `void` | `https://developer.android.com/reference/androidx/leanback/widget/ListRowPresenter.SelectItemViewHolderTask#setItemTask(androidx.leanback.widget.Presenter.ViewHolderTask)(@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/androidx/leanback/widget/Presenter.ViewHolderTask itemTask)` Sets task to run when the item is selected, null for no task. |
| `void` | `https://developer.android.com/reference/androidx/leanback/widget/ListRowPresenter.SelectItemViewHolderTask#setSmoothScroll(boolean)(boolean smoothScroll)` Sets smooth scrolling to the item or jump to the item without scrolling. |

## Public constructors

### SelectItemViewHolderTask

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

```
public SelectItemViewHolderTask(int itemPosition)
```

## Public methods

### getItemPosition

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

```
public int getItemPosition()
```

Returns the adapter position of item to select.

| Returns |
|---|---|
| `int` | The adapter position of item to select. |

### getItemTask

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

```
public @Nullable Presenter.ViewHolderTask getItemTask()
```

Returns optional task to run when the item is selected, null for no task.

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/androidx/leanback/widget/Presenter.ViewHolderTask` | Optional task to run when the item is selected, null for no task. |

### isSmoothScroll

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

```
public boolean isSmoothScroll()
```

Returns true if smooth scrolling to the item false otherwise. By default it is true.

| Returns |
|---|---|
| `boolean` | True for smooth scrolling to the item, false otherwise. |

### run

```
public void run(@Nullable Presenter.ViewHolder holder)
```

Called to perform a task on view holder.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/androidx/leanback/widget/Presenter.ViewHolder holder` | The view holder to perform task. |

### setItemPosition

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

```
public void setItemPosition(int itemPosition)
```

Sets the adapter position of item to select.

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

### setItemTask

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

```
public void setItemTask(@Nullable Presenter.ViewHolderTask itemTask)
```

Sets task to run when the item is selected, null for no task.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/androidx/leanback/widget/Presenter.ViewHolderTask itemTask` | Optional task to run when the item is selected, null for no task. |

### setSmoothScroll

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

```
public void setSmoothScroll(boolean smoothScroll)
```

Sets smooth scrolling to the item or jump to the item without scrolling. By default it is true.

| Parameters |
|---|---|
| `boolean smoothScroll` | True for smooth scrolling to the item, false otherwise. |