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

```
public class ItemBridgeAdapter.ViewHolder extends RecyclerView.ViewHolder implements FacetProvider
```

<br />

|---|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object.html) |||
| ↳ | [androidx.recyclerview.widget.RecyclerView.ViewHolder](https://developer.android.com/reference/androidx/recyclerview/widget/RecyclerView.ViewHolder) ||
|   | ↳ | [androidx.leanback.widget.ItemBridgeAdapter.ViewHolder](https://developer.android.com/reference/androidx/leanback/widget/ItemBridgeAdapter.ViewHolder) |

*** ** * ** ***

ViewHolder for the ItemBridgeAdapter.

## Summary

| ### Public methods |
|---|---|
| `final https://developer.android.com/reference/java/lang/Object.html` | `https://developer.android.com/reference/androidx/leanback/widget/ItemBridgeAdapter.ViewHolder#getExtraObject()()` Get extra object associated with the view. |
| `https://developer.android.com/reference/java/lang/Object.html` | `https://developer.android.com/reference/androidx/leanback/widget/ItemBridgeAdapter.ViewHolder#getFacet(java.lang.Class<?>)(https://developer.android.com/reference/java/lang/Class.html<@https://developer.android.com/reference/androidx/annotation/NonNull ?> facetClass)` Queries optional implemented facet. |
| `final https://developer.android.com/reference/java/lang/Object.html` | `https://developer.android.com/reference/androidx/leanback/widget/ItemBridgeAdapter.ViewHolder#getItem()()` Get currently bound object. |
| `final https://developer.android.com/reference/androidx/leanback/widget/Presenter` | `https://developer.android.com/reference/androidx/leanback/widget/ItemBridgeAdapter.ViewHolder#getPresenter()()` Get `https://developer.android.com/reference/androidx/leanback/widget/Presenter`. |
| `final https://developer.android.com/reference/androidx/leanback/widget/Presenter.ViewHolder` | `https://developer.android.com/reference/androidx/leanback/widget/ItemBridgeAdapter.ViewHolder#getViewHolder()()` Get `https://developer.android.com/reference/androidx/leanback/widget/Presenter.ViewHolder`. |
| `void` | `https://developer.android.com/reference/androidx/leanback/widget/ItemBridgeAdapter.ViewHolder#setExtraObject(java.lang.Object)(https://developer.android.com/reference/java/lang/Object.html object)` Set extra object associated with the view. |

### Inherited fields

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

### Inherited methods

From [androidx.recyclerview.widget.RecyclerView.ViewHolder](https://developer.android.com/reference/androidx/recyclerview/widget/RecyclerView.ViewHolder) `final int` `https://developer.android.com/reference/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/androidx/recyclerview/widget/RecyclerView`'s `https://developer.android.com/reference/androidx/recyclerview/widget/RecyclerView.Adapter`.
`final int` `[getAdapterPosition](https://developer.android.com/reference/androidx/recyclerview/widget/RecyclerView.ViewHolder#getAdapterPosition())()`

**This method is deprecated.**

This method is confusing when adapters nest other adapters.

<br />

`final @https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/androidx/recyclerview/widget/RecyclerView.Adapter<https://developer.android.com/reference/androidx/recyclerview/widget/RecyclerView.ViewHolder>` `https://developer.android.com/reference/androidx/recyclerview/widget/RecyclerView.ViewHolder#getBindingAdapter()()`

Returns the `https://developer.android.com/reference/androidx/recyclerview/widget/RecyclerView.Adapter` that last bound this `https://developer.android.com/reference/androidx/recyclerview/widget/RecyclerView.ViewHolder`.
`final int` `https://developer.android.com/reference/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/androidx/recyclerview/widget/RecyclerView.Adapter` that bound it.
`final long` `https://developer.android.com/reference/androidx/recyclerview/widget/RecyclerView.ViewHolder#getItemId()()`

Returns The itemId represented by this ViewHolder.
`final int` `https://developer.android.com/reference/androidx/recyclerview/widget/RecyclerView.ViewHolder#getItemViewType()()` `final int` `https://developer.android.com/reference/androidx/recyclerview/widget/RecyclerView.ViewHolder#getLayoutPosition()()`

Returns the position of the ViewHolder in terms of the latest layout pass.
`final int` `https://developer.android.com/reference/androidx/recyclerview/widget/RecyclerView.ViewHolder#getOldPosition()()`

When LayoutManager supports animations, RecyclerView tracks 3 positions for ViewHolders to perform animations.
`final int` `[getPosition](https://developer.android.com/reference/androidx/recyclerview/widget/RecyclerView.ViewHolder#getPosition())()`

**This method is deprecated.**

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

<br />

`final boolean` `https://developer.android.com/reference/androidx/recyclerview/widget/RecyclerView.ViewHolder#isRecyclable()()` `final void` `https://developer.android.com/reference/androidx/recyclerview/widget/RecyclerView.ViewHolder#setIsRecyclable(boolean)(boolean recyclable)`

Informs the recycler whether this item can be recycled.
`https://developer.android.com/reference/java/lang/String.html` `https://developer.android.com/reference/androidx/recyclerview/widget/RecyclerView.ViewHolder#toString()()`

## Public methods

### getExtraObject

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

```
public final Object getExtraObject()
```

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

### getFacet

```
public Object getFacet(Class<@NonNull ?> facetClass)
```

Queries optional implemented facet.

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

| Returns |
|---|---|
| `https://developer.android.com/reference/java/lang/Object.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)

```
public final Object getItem()
```

Get currently bound object.

### getPresenter

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

```
public final Presenter getPresenter()
```

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

### getViewHolder

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

```
public final Presenter.ViewHolder getViewHolder()
```

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

### setExtraObject

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

```
public void setExtraObject(Object object)
```

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