# BaseOnItemViewSelectedListener

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

*** ** * ** ***


```
public interface BaseOnItemViewSelectedListener<T>
```

<br />

Known direct subclasses [OnItemViewSelectedListener](https://developer.android.com/reference/androidx/leanback/widget/OnItemViewSelectedListener)

|---|---|
| `https://developer.android.com/reference/androidx/leanback/widget/OnItemViewSelectedListener` | Interface for receiving notification when a row or item becomes selected. |

*** ** * ** ***

Interface for receiving notification when a row or item becomes selected. The concept of current selection is different than focus. A row or item can be selected without having focus; for example, when a row header view gains focus then the corresponding row view becomes selected.

## Summary

| ### Public methods |
|---|---|
| `abstract void` | `https://developer.android.com/reference/androidx/leanback/widget/BaseOnItemViewSelectedListener#onItemSelected(androidx.leanback.widget.Presenter.ViewHolder,java.lang.Object,androidx.leanback.widget.RowPresenter.ViewHolder,T)( https://developer.android.com/reference/androidx/leanback/widget/Presenter.ViewHolder itemViewHolder, https://developer.android.com/reference/java/lang/Object.html item, https://developer.android.com/reference/androidx/leanback/widget/RowPresenter.ViewHolder rowViewHolder, T row )` Called when a row or a new item becomes selected. |

## Public methods

### onItemSelected

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

```
abstract void onItemSelected(
    Presenter.ViewHolder itemViewHolder,
    Object item,
    RowPresenter.ViewHolder rowViewHolder,
    T row
)
```

Called when a row or a new item becomes selected.

For a non `https://developer.android.com/reference/androidx/leanback/widget/ListRow` case, parameter item may be null. Event is fired when selection changes between rows, regardless if row view has focus or not.

For a `https://developer.android.com/reference/androidx/leanback/widget/ListRow` case, parameter item is null if the list row is empty.

In the case of a grid, the row parameter is always null.

- Row has focus: event is fired when focus changes between children of the row.
- No row has focus: the event is fired with the currently selected row and last focused item in the row.

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/leanback/widget/Presenter.ViewHolder itemViewHolder` | The view holder of the item that is currently selected. |
| `https://developer.android.com/reference/java/lang/Object.html item` | The item that is currently selected. |
| `https://developer.android.com/reference/androidx/leanback/widget/RowPresenter.ViewHolder rowViewHolder` | The view holder of the row that is currently selected. |
| `T row` | The row that is currently selected. |