# OnChildViewHolderSelectedListener

# OnChildViewHolderSelectedListener

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

*** ** * ** ***

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

<br />

```
abstract class OnChildViewHolderSelectedListener
```

<br />

*** ** * ** ***

Interface for receiving notification when a child of this ViewGroup has been selected. There are two methods:

- {link[onChildViewHolderSelected](https://developer.android.com/reference/kotlin/androidx/leanback/widget/OnChildViewHolderSelectedListener#onChildViewHolderSelected(androidx.recyclerview.widget.RecyclerView,androidx.recyclerview.widget.RecyclerView.ViewHolder,int,int))} is called when the view holder is about to be selected. The listener could change size of the view holder in this callback.
- {link[onChildViewHolderSelectedAndPositioned](https://developer.android.com/reference/kotlin/androidx/leanback/widget/OnChildViewHolderSelectedListener#onChildViewHolderSelectedAndPositioned(androidx.recyclerview.widget.RecyclerView,androidx.recyclerview.widget.RecyclerView.ViewHolder,int,int))is called when view holder has been selected and laid out in RecyclerView.

## Summary

|                                                                                ### Public constructors                                                                                 |
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [OnChildViewHolderSelectedListener](https://developer.android.com/reference/kotlin/androidx/leanback/widget/OnChildViewHolderSelectedListener#OnChildViewHolderSelectedListener())`()` |

|                             ### Public functions                              |
|-------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html) | [onChildViewHolderSelected](https://developer.android.com/reference/kotlin/androidx/leanback/widget/OnChildViewHolderSelectedListener#onChildViewHolderSelected(androidx.recyclerview.widget.RecyclerView,androidx.recyclerview.widget.RecyclerView.ViewHolder,int,int))`(` ` parent: `[RecyclerView](https://developer.android.com/reference/kotlin/androidx/recyclerview/widget/RecyclerView)`,` ` child: `[RecyclerView.ViewHolder](https://developer.android.com/reference/kotlin/androidx/recyclerview/widget/RecyclerView.ViewHolder)`?,` ` position: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`,` ` subposition: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) `)` Callback method to be invoked when a child of this ViewGroup has been selected.                                          |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html) | [onChildViewHolderSelectedAndPositioned](https://developer.android.com/reference/kotlin/androidx/leanback/widget/OnChildViewHolderSelectedListener#onChildViewHolderSelectedAndPositioned(androidx.recyclerview.widget.RecyclerView,androidx.recyclerview.widget.RecyclerView.ViewHolder,int,int))`(` ` parent: `[RecyclerView](https://developer.android.com/reference/kotlin/androidx/recyclerview/widget/RecyclerView)`,` ` child: `[RecyclerView.ViewHolder](https://developer.android.com/reference/kotlin/androidx/recyclerview/widget/RecyclerView.ViewHolder)`?,` ` position: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`,` ` subposition: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) `)` Callback method to be invoked when a child of this ViewGroup has been selected and positioned. |

## Public constructors

### OnChildViewHolderSelectedListener

Added in 1.0.0  

```
OnChildViewHolderSelectedListener()
```  

## Public functions

### onChildViewHolderSelected

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

```
fun onChildViewHolderSelected(
    parent: RecyclerView,
    child: RecyclerView.ViewHolder?,
    position: Int,
    subposition: Int
): Unit
```

Callback method to be invoked when a child of this ViewGroup has been selected. Listener might change the size of the child and the position of the child is not finalized. To get the final layout position of child, override[onChildViewHolderSelectedAndPositioned](https://developer.android.com/reference/kotlin/androidx/leanback/widget/OnChildViewHolderSelectedListener#onChildViewHolderSelectedAndPositioned(androidx.recyclerview.widget.RecyclerView,androidx.recyclerview.widget.RecyclerView.ViewHolder,int,int)).  

|                                                                 Parameters                                                                 |
|--------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `parent: `[RecyclerView](https://developer.android.com/reference/kotlin/androidx/recyclerview/widget/RecyclerView)                         | The RecyclerView where the selection happened.                                                                                                                                                                       |
| `child: `[RecyclerView.ViewHolder](https://developer.android.com/reference/kotlin/androidx/recyclerview/widget/RecyclerView.ViewHolder)`?` | The ViewHolder within the RecyclerView that is selected, or null if no view is selected.                                                                                                                             |
| `position: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)                                                    | The position of the view in the adapter, or NO_POSITION if no view is selected.                                                                                                                                      |
| `subposition: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)                                                 | The index of which[ItemAlignmentDef](https://developer.android.com/reference/kotlin/androidx/leanback/widget/ItemAlignmentFacet.ItemAlignmentDef)being used, 0 if there is no ItemAlignmentDef defined for the item. |

### onChildViewHolderSelectedAndPositioned

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

```
fun onChildViewHolderSelectedAndPositioned(
    parent: RecyclerView,
    child: RecyclerView.ViewHolder?,
    position: Int,
    subposition: Int
): Unit
```

Callback method to be invoked when a child of this ViewGroup has been selected and positioned.  

|                                                                 Parameters                                                                 |
|--------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `parent: `[RecyclerView](https://developer.android.com/reference/kotlin/androidx/recyclerview/widget/RecyclerView)                         | The RecyclerView where the selection happened.                                                                                                                                                                       |
| `child: `[RecyclerView.ViewHolder](https://developer.android.com/reference/kotlin/androidx/recyclerview/widget/RecyclerView.ViewHolder)`?` | The ViewHolder within the RecyclerView that is selected, or null if no view is selected.                                                                                                                             |
| `position: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)                                                    | The position of the view in the adapter, or NO_POSITION if no view is selected.                                                                                                                                      |
| `subposition: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)                                                 | The index of which[ItemAlignmentDef](https://developer.android.com/reference/kotlin/androidx/leanback/widget/ItemAlignmentFacet.ItemAlignmentDef)being used, 0 if there is no ItemAlignmentDef defined for the item. |