# BaseOnItemViewSelectedListener

# 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)

*** ** * ** ***

Kotlin\|[Java](https://developer.android.com/reference/androidx/leanback/widget/BaseOnItemViewSelectedListener "View this page in Java")

<br />

```
interface BaseOnItemViewSelectedListener<T>
```

<br />

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

|----------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------|
| [OnItemViewSelectedListener](https://developer.android.com/reference/kotlin/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 functions                              |
|-------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html) | [onItemSelected](https://developer.android.com/reference/kotlin/androidx/leanback/widget/BaseOnItemViewSelectedListener#onItemSelected(androidx.leanback.widget.Presenter.ViewHolder,java.lang.Object,androidx.leanback.widget.RowPresenter.ViewHolder,T))`(` ` itemViewHolder: `[Presenter.ViewHolder](https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter.ViewHolder)`!,` ` item: `[Any](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html)`!,` ` rowViewHolder: `[RowPresenter.ViewHolder](https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter.ViewHolder)`!,` ` row: T!` `)` Called when a row or a new item becomes selected. |

## Public functions

### onItemSelected

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

```
fun onItemSelected(
    itemViewHolder: Presenter.ViewHolder!,
    item: Any!,
    rowViewHolder: RowPresenter.ViewHolder!,
    row: T!
): Unit
```

Called when a row or a new item becomes selected.

For a non[ListRow](https://developer.android.com/reference/kotlin/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[ListRow](https://developer.android.com/reference/kotlin/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                                                                   |
|------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------|
| `itemViewHolder: `[Presenter.ViewHolder](https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter.ViewHolder)`!`      | The view holder of the item that is currently selected. |
| `item: `[Any](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html)`!`                                                         | The item that is currently selected.                    |
| `rowViewHolder: `[RowPresenter.ViewHolder](https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter.ViewHolder)`!` | The view holder of the row that is currently selected.  |
| `row: T!`                                                                                                                                      | The row that is currently selected.                     |