# DetailsOverviewRow

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

*** ** * ** ***


```
public class DetailsOverviewRow extends Row
```

<br />

|---|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object.html) |||
| ↳ | [androidx.leanback.widget.Row](https://developer.android.com/reference/androidx/leanback/widget/Row) ||
|   | ↳ | [androidx.leanback.widget.DetailsOverviewRow](https://developer.android.com/reference/androidx/leanback/widget/DetailsOverviewRow) |

*** ** * ** ***

An overview `https://developer.android.com/reference/androidx/leanback/widget/Row` for a details fragment. This row consists of an image, a description view, and optionally a series of `https://developer.android.com/reference/androidx/leanback/widget/Action`s that can be taken for the item.

### Actions

Application uses `https://developer.android.com/reference/androidx/leanback/widget/DetailsOverviewRow#setActionsAdapter(androidx.leanback.widget.ObjectAdapter)` to set actions on the overview row. `https://developer.android.com/reference/androidx/leanback/widget/SparseArrayObjectAdapter` is recommended for easily updating actions while maintaining the order. The application can add or remove actions on the UI thread after the row is bound to a view.

### Updating main item

After the row is bound to a view, the application may call `https://developer.android.com/reference/androidx/leanback/widget/DetailsOverviewRow#setItem(java.lang.Object)` on UI thread and the view will be updated.

### Updating image

After the row is bound to view, the application may change the image by calling `https://developer.android.com/reference/androidx/leanback/widget/DetailsOverviewRow#setImageBitmap(android.content.Context,android.graphics.Bitmap)` or `https://developer.android.com/reference/androidx/leanback/widget/DetailsOverviewRow#setImageDrawable(android.graphics.drawable.Drawable)` on the UI thread, and the view will be updated.

## Summary

| ### Nested types |
|---|
| `public class https://developer.android.com/reference/androidx/leanback/widget/DetailsOverviewRow.Listener` Listener for changes of DetailsOverviewRow. |

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/leanback/widget/DetailsOverviewRow#DetailsOverviewRow(java.lang.Object)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/Object.html item)` Constructor for a DetailsOverviewRow. |

| ### Public methods |
|---|---|
| `final void` | `[addAction](https://developer.android.com/reference/androidx/leanback/widget/DetailsOverviewRow#addAction(androidx.leanback.widget.Action))(https://developer.android.com/reference/androidx/leanback/widget/Action action)` **This method is deprecated.** Use `https://developer.android.com/reference/androidx/leanback/widget/DetailsOverviewRow#setActionsAdapter(androidx.leanback.widget.ObjectAdapter)` and `https://developer.android.com/reference/androidx/leanback/widget/DetailsOverviewRow#getActionsAdapter()` <br /> |
| `final void` | `[addAction](https://developer.android.com/reference/androidx/leanback/widget/DetailsOverviewRow#addAction(int,androidx.leanback.widget.Action))(int pos, https://developer.android.com/reference/androidx/leanback/widget/Action action)` **This method is deprecated.** Use `https://developer.android.com/reference/androidx/leanback/widget/DetailsOverviewRow#setActionsAdapter(androidx.leanback.widget.ObjectAdapter)` and `https://developer.android.com/reference/androidx/leanback/widget/DetailsOverviewRow#getActionsAdapter()` <br /> |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/androidx/leanback/widget/Action` | `https://developer.android.com/reference/androidx/leanback/widget/DetailsOverviewRow#getActionForKeyCode(int)(int keyCode)` Returns the Action associated with the given keycode, or null if no associated action exists. |
| `final https://developer.android.com/reference/java/util/List.html<https://developer.android.com/reference/androidx/leanback/widget/Action>` | `[getActions](https://developer.android.com/reference/androidx/leanback/widget/DetailsOverviewRow#getActions())()` **This method is deprecated.** Use `https://developer.android.com/reference/androidx/leanback/widget/DetailsOverviewRow#setActionsAdapter(androidx.leanback.widget.ObjectAdapter)` and `https://developer.android.com/reference/androidx/leanback/widget/DetailsOverviewRow#getActionsAdapter()` <br /> |
| `final @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/widget/ObjectAdapter` | `https://developer.android.com/reference/androidx/leanback/widget/DetailsOverviewRow#getActionsAdapter()()` Returns the `https://developer.android.com/reference/androidx/leanback/widget/ObjectAdapter` for actions. |
| `final @https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/graphics/drawable/Drawable.html` | `https://developer.android.com/reference/androidx/leanback/widget/DetailsOverviewRow#getImageDrawable()()` Returns the image drawable of this details overview. |
| `final @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/Object.html` | `https://developer.android.com/reference/androidx/leanback/widget/DetailsOverviewRow#getItem()()` Returns the main item for the details page. |
| `boolean` | `https://developer.android.com/reference/androidx/leanback/widget/DetailsOverviewRow#isImageScaleUpAllowed()()` Returns true if the image may be scaled up; false otherwise. |
| `final boolean` | `[removeAction](https://developer.android.com/reference/androidx/leanback/widget/DetailsOverviewRow#removeAction(androidx.leanback.widget.Action))(https://developer.android.com/reference/androidx/leanback/widget/Action action)` **This method is deprecated.** Use `https://developer.android.com/reference/androidx/leanback/widget/DetailsOverviewRow#setActionsAdapter(androidx.leanback.widget.ObjectAdapter)` and `https://developer.android.com/reference/androidx/leanback/widget/DetailsOverviewRow#getActionsAdapter()` <br /> |
| `final void` | `https://developer.android.com/reference/androidx/leanback/widget/DetailsOverviewRow#setActionsAdapter(androidx.leanback.widget.ObjectAdapter)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/widget/ObjectAdapter adapter)` Sets the `https://developer.android.com/reference/androidx/leanback/widget/ObjectAdapter` for actions. |
| `final void` | `https://developer.android.com/reference/androidx/leanback/widget/DetailsOverviewRow#setImageBitmap(android.content.Context,android.graphics.Bitmap)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/content/Context.html context, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/graphics/Bitmap.html bm)` Sets a Bitmap as the image of this details overview. |
| `final void` | `https://developer.android.com/reference/androidx/leanback/widget/DetailsOverviewRow#setImageDrawable(android.graphics.drawable.Drawable)(@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/graphics/drawable/Drawable.html drawable)` Sets a drawable as the image of this details overview. |
| `void` | `https://developer.android.com/reference/androidx/leanback/widget/DetailsOverviewRow#setImageScaleUpAllowed(boolean)(boolean allowed)` Allows or disallows scaling up of images. |
| `final void` | `https://developer.android.com/reference/androidx/leanback/widget/DetailsOverviewRow#setItem(java.lang.Object)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/Object.html item)` Sets the main item for the details page. |

| ### Inherited methods |
|---|
| From [androidx.leanback.widget.Row](https://developer.android.com/reference/androidx/leanback/widget/Row) |---|---| | `final https://developer.android.com/reference/androidx/leanback/widget/HeaderItem` | `https://developer.android.com/reference/androidx/leanback/widget/Row#getHeaderItem()()` Returns the `https://developer.android.com/reference/androidx/leanback/widget/HeaderItem` that represents metadata for the row. | | `final long` | `https://developer.android.com/reference/androidx/leanback/widget/Row#getId()()` Returns a unique identifier for this row. | | `boolean` | `https://developer.android.com/reference/androidx/leanback/widget/Row#isRenderedAsRowView()()` Returns true if this Row can be rendered in a visible row view, false otherwise. | | `final void` | `https://developer.android.com/reference/androidx/leanback/widget/Row#setHeaderItem(androidx.leanback.widget.HeaderItem)(https://developer.android.com/reference/androidx/leanback/widget/HeaderItem headerItem)` Sets the `https://developer.android.com/reference/androidx/leanback/widget/HeaderItem` that represents metadata for the row. | | `final void` | `https://developer.android.com/reference/androidx/leanback/widget/Row#setId(long)(long id)` Sets the id for this row. | |

## Public constructors

### DetailsOverviewRow

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

```
public DetailsOverviewRow(@NonNull Object item)
```

Constructor for a DetailsOverviewRow.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/Object.html item` | The main item for the details page. |

## Public methods

### addAction

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

```
public final void [addAction](https://developer.android.com/reference/androidx/leanback/widget/DetailsOverviewRow#addAction(androidx.leanback.widget.Action))(Action action)
```

> [!CAUTION]
> **This method is deprecated.**   
>
> Use `https://developer.android.com/reference/androidx/leanback/widget/DetailsOverviewRow#setActionsAdapter(androidx.leanback.widget.ObjectAdapter)` and `https://developer.android.com/reference/androidx/leanback/widget/DetailsOverviewRow#getActionsAdapter()`

Adds an Action to the overview. It will throw ClassCastException if the current actions adapter is not an instance of `https://developer.android.com/reference/androidx/leanback/widget/ArrayObjectAdapter`. Must be called on the UI thread.

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/leanback/widget/Action action` | The Action to add. |

### addAction

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

```
public final void [addAction](https://developer.android.com/reference/androidx/leanback/widget/DetailsOverviewRow#addAction(int,androidx.leanback.widget.Action))(int pos, Action action)
```

> [!CAUTION]
> **This method is deprecated.**   
>
> Use `https://developer.android.com/reference/androidx/leanback/widget/DetailsOverviewRow#setActionsAdapter(androidx.leanback.widget.ObjectAdapter)` and `https://developer.android.com/reference/androidx/leanback/widget/DetailsOverviewRow#getActionsAdapter()`

Adds an Action to the overview at the specified position. It will throw ClassCastException if current actions adapter is not an instance of f`https://developer.android.com/reference/androidx/leanback/widget/ArrayObjectAdapter`. Must be called on the UI thread.

| Parameters |
|---|---|
| `int pos` | The position to insert the Action. |
| `https://developer.android.com/reference/androidx/leanback/widget/Action action` | The Action to add. |

### getActionForKeyCode

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

```
public @Nullable Action getActionForKeyCode(int keyCode)
```

Returns the Action associated with the given keycode, or null if no associated action exists.

### getActions

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

```
public final List<Action> [getActions](https://developer.android.com/reference/androidx/leanback/widget/DetailsOverviewRow#getActions())()
```

> [!CAUTION]
> **This method is deprecated.**   
>
> Use `https://developer.android.com/reference/androidx/leanback/widget/DetailsOverviewRow#setActionsAdapter(androidx.leanback.widget.ObjectAdapter)` and `https://developer.android.com/reference/androidx/leanback/widget/DetailsOverviewRow#getActionsAdapter()`

Returns a read-only view of the list of Actions of this details overview. It will throw ClassCastException if current actions adapter is not `https://developer.android.com/reference/androidx/leanback/widget/ArrayObjectAdapter`. Must be called on UI thread.

| Returns |
|---|---|
| `https://developer.android.com/reference/java/util/List.html<https://developer.android.com/reference/androidx/leanback/widget/Action>` | An unmodifiable view of the list of Actions. |

### getActionsAdapter

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

```
public final @NonNull ObjectAdapter getActionsAdapter()
```

Returns the `https://developer.android.com/reference/androidx/leanback/widget/ObjectAdapter` for actions.

### getImageDrawable

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

```
public final @Nullable Drawable getImageDrawable()
```

Returns the image drawable of this details overview.

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/graphics/drawable/Drawable.html` | The overview's image drawable, or null if no drawable has been assigned. |

### getItem

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

```
public final @NonNull Object getItem()
```

Returns the main item for the details page.

### isImageScaleUpAllowed

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

```
public boolean isImageScaleUpAllowed()
```

Returns true if the image may be scaled up; false otherwise.

### removeAction

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

```
public final boolean [removeAction](https://developer.android.com/reference/androidx/leanback/widget/DetailsOverviewRow#removeAction(androidx.leanback.widget.Action))(Action action)
```

> [!CAUTION]
> **This method is deprecated.**   
>
> Use `https://developer.android.com/reference/androidx/leanback/widget/DetailsOverviewRow#setActionsAdapter(androidx.leanback.widget.ObjectAdapter)` and `https://developer.android.com/reference/androidx/leanback/widget/DetailsOverviewRow#getActionsAdapter()`

Removes the given Action from the overview. It will throw ClassCastException if current actions adapter is not `https://developer.android.com/reference/androidx/leanback/widget/ArrayObjectAdapter`. Must be called on UI thread.

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/leanback/widget/Action action` | The Action to remove. |

| Returns |
|---|---|
| `boolean` | true if the overview contained the specified Action. |

### setActionsAdapter

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

```
public final void setActionsAdapter(@NonNull ObjectAdapter adapter)
```

Sets the `https://developer.android.com/reference/androidx/leanback/widget/ObjectAdapter` for actions. A default `https://developer.android.com/reference/androidx/leanback/widget/PresenterSelector` will be attached to the adapter if it doesn't have one.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/widget/ObjectAdapter adapter` | Adapter for actions. |

### setImageBitmap

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

```
public final void setImageBitmap(@NonNull Context context, @NonNull Bitmap bm)
```

Sets a Bitmap as the image of this details overview. Must be called on UI thread after row is bound to view.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/content/Context.html context` | The context to retrieve display metrics from. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/graphics/Bitmap.html bm` | The bitmap to set. |

### setImageDrawable

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

```
public final void setImageDrawable(@Nullable Drawable drawable)
```

Sets a drawable as the image of this details overview. Must be called on UI thread after row is bound to view.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/graphics/drawable/Drawable.html drawable` | The drawable to set. |

### setImageScaleUpAllowed

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

```
public void setImageScaleUpAllowed(boolean allowed)
```

Allows or disallows scaling up of images. Images will always be scaled down if necessary. Must be called on UI thread after row is bound to view.

### setItem

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

```
public final void setItem(@NonNull Object item)
```

Sets the main item for the details page. Must be called on UI thread after row is bound to view.