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

*** ** * ** ***

<br />

```
class ItemBridgeAdapter.ViewHolder : RecyclerView.ViewHolder, FacetProvider
```

<br />

|---|---|---|
| [kotlin.Any](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html) |||
| ↳ | [androidx.recyclerview.widget.RecyclerView.ViewHolder](https://developer.android.com/reference/kotlin/androidx/recyclerview/widget/RecyclerView.ViewHolder) ||
|   | ↳ | [androidx.leanback.widget.ItemBridgeAdapter.ViewHolder](https://developer.android.com/reference/kotlin/androidx/leanback/widget/ItemBridgeAdapter.ViewHolder) |

*** ** * ** ***

ViewHolder for the ItemBridgeAdapter.

## Summary

| ### Public functions |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html!` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ItemBridgeAdapter.ViewHolder#getExtraObject()()` Get extra object associated with the view. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html!` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ItemBridgeAdapter.ViewHolder#getFacet(java.lang.Class<?>)(facetClass: https://developer.android.com/reference/java/lang/Class.html<*>!)` Queries optional implemented facet. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html!` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ItemBridgeAdapter.ViewHolder#getItem()()` Get currently bound object. |
| `https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter!` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ItemBridgeAdapter.ViewHolder#getPresenter()()` Get `https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter`. |
| `https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter.ViewHolder!` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ItemBridgeAdapter.ViewHolder#getViewHolder()()` Get `https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter.ViewHolder`. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ItemBridgeAdapter.ViewHolder#setExtraObject(java.lang.Object)(object: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html!)` Set extra object associated with the view. |

### Inherited functions

From [androidx.recyclerview.widget.RecyclerView.ViewHolder](https://developer.android.com/reference/kotlin/androidx/recyclerview/widget/RecyclerView.ViewHolder) `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/recyclerview/widget/RecyclerView.ViewHolder#getAbsoluteAdapterPosition()()`

Returns the Adapter position of the item represented by this ViewHolder with respect to the `https://developer.android.com/reference/kotlin/androidx/recyclerview/widget/RecyclerView`'s `https://developer.android.com/reference/kotlin/androidx/recyclerview/widget/RecyclerView.Adapter`.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `[getAdapterPosition](https://developer.android.com/reference/kotlin/androidx/recyclerview/widget/RecyclerView.ViewHolder#getAdapterPosition())()`

**This function is deprecated.**

This method is confusing when adapters nest other adapters.

<br />

`https://developer.android.com/reference/kotlin/androidx/recyclerview/widget/RecyclerView.Adapter<https://developer.android.com/reference/kotlin/androidx/recyclerview/widget/RecyclerView.ViewHolder!>?` `https://developer.android.com/reference/kotlin/androidx/recyclerview/widget/RecyclerView.ViewHolder#getBindingAdapter()()`

Returns the `https://developer.android.com/reference/kotlin/androidx/recyclerview/widget/RecyclerView.Adapter` that last bound this `https://developer.android.com/reference/kotlin/androidx/recyclerview/widget/RecyclerView.ViewHolder`.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/recyclerview/widget/RecyclerView.ViewHolder#getBindingAdapterPosition()()`

Returns the Adapter position of the item represented by this ViewHolder with respect to the `https://developer.android.com/reference/kotlin/androidx/recyclerview/widget/RecyclerView.Adapter` that bound it.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html` `https://developer.android.com/reference/kotlin/androidx/recyclerview/widget/RecyclerView.ViewHolder#getItemId()()`

Returns The itemId represented by this ViewHolder.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/recyclerview/widget/RecyclerView.ViewHolder#getItemViewType()()` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/recyclerview/widget/RecyclerView.ViewHolder#getLayoutPosition()()`

Returns the position of the ViewHolder in terms of the latest layout pass.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/recyclerview/widget/RecyclerView.ViewHolder#getOldPosition()()`

When LayoutManager supports animations, RecyclerView tracks 3 positions for ViewHolders to perform animations.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `[getPosition](https://developer.android.com/reference/kotlin/androidx/recyclerview/widget/RecyclerView.ViewHolder#getPosition())()`

**This function is deprecated.**

This method is deprecated because its meaning is ambiguous due to the async handling of adapter updates.

<br />

`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` `https://developer.android.com/reference/kotlin/androidx/recyclerview/widget/RecyclerView.ViewHolder#isRecyclable()()` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/recyclerview/widget/RecyclerView.ViewHolder#setIsRecyclable(boolean)(recyclable: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`

Informs the recycler whether this item can be recycled.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!` `https://developer.android.com/reference/kotlin/androidx/recyclerview/widget/RecyclerView.ViewHolder#toString()()`

### Inherited properties

From [androidx.recyclerview.widget.RecyclerView.ViewHolder](https://developer.android.com/reference/kotlin/androidx/recyclerview/widget/RecyclerView.ViewHolder) `https://developer.android.com/reference/android/view/View.html` `https://developer.android.com/reference/kotlin/androidx/recyclerview/widget/RecyclerView.ViewHolder#itemView()`

## Public functions

### getExtraObject

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

```
fun getExtraObject(): Any!
```

Get extra object associated with the view. Developer can attach any customized UI object in addition to `https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter.ViewHolder`. A typical use case is attaching an animator object.

### getFacet

```
fun getFacet(facetClass: Class<*>!): Any!
```

Queries optional implemented facet.

| Parameters |
|---|---|
| `facetClass: https://developer.android.com/reference/java/lang/Class.html<*>!` | Facet classes to query, examples are: class of `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ItemAlignmentFacet`. |

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html!` | Facet implementation for the facetClass or null if feature not implemented. |

### getItem

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

```
fun getItem(): Any!
```

Get currently bound object.

### getPresenter

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

```
fun getPresenter(): Presenter!
```

Get `https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter`.

### getViewHolder

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

```
fun getViewHolder(): Presenter.ViewHolder!
```

Get `https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter.ViewHolder`.

### setExtraObject

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

```
fun setExtraObject(object: Any!): Unit
```

Set extra object associated with the view. Developer can attach any customized UI object in addition to `https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter.ViewHolder`. A typical use case is attaching an animator object.