added in [version 22.1.0](https://developer.android.com/topic/libraries/support-library/revisions)   
belongs to Maven artifact com.android.support:leanback-v17:28.0.0-alpha1 Summary: [Nested Classes](https://developer.android.com/reference/android/support/v17/leanback/widget/Presenter#nestedclasses) \| [Ctors](https://developer.android.com/reference/android/support/v17/leanback/widget/Presenter#pubctors) \| [Methods](https://developer.android.com/reference/android/support/v17/leanback/widget/Presenter#pubmethods) \| [Protected Methods](https://developer.android.com/reference/android/support/v17/leanback/widget/Presenter#promethods) \| [Inherited Methods](https://developer.android.com/reference/android/support/v17/leanback/widget/Presenter#inhmethods) \| [\[Expand All\]](https://developer.android.com/reference/android/support/v17/leanback/widget/Presenter#)

# Presenter

| This package is part of the Android [support library](https://developer.android.com/topic/libraries/support-library) which is no longer maintained. The support library has been superseded by [AndroidX](https://developer.android.com/jetpack/androidx) which is part of [Jetpack](https://developer.android.com/jetpack). We recommend using the AndroidX libraries in all new projects. You should also consider [migrating](https://developer.android.com/jetpack/androidx/migrate) existing projects to AndroidX. To find the AndroidX class that maps to this deprecated class, see the AndroidX support library [class
| mappings](https://developer.android.com/jetpack/androidx/migrate/class-mappings).


`
public


abstract
class
Presenter
`


`

extends Object


`

`


implements

https://developer.android.com/reference/android/support/v17/leanback/widget/FacetProvider


`

|---|---|
| java.lang.Object ||
| ↳ | android.support.v17.leanback.widget.Presenter |

|---|
| [![](https://developer.android.com/static/assets/images/styles/disclosure_down.png)](https://developer.android.com/reference/android/support/v17/leanback/widget/Presenter#)Known Direct Subclasses [AbstractDetailsDescriptionPresenter](https://developer.android.com/reference/android/support/v17/leanback/widget/AbstractDetailsDescriptionPresenter),[DetailsOverviewLogoPresenter](https://developer.android.com/reference/android/support/v17/leanback/widget/DetailsOverviewLogoPresenter),[DividerPresenter](https://developer.android.com/reference/android/support/v17/leanback/widget/DividerPresenter),[RowHeaderPresenter](https://developer.android.com/reference/android/support/v17/leanback/widget/RowHeaderPresenter),[RowPresenter](https://developer.android.com/reference/android/support/v17/leanback/widget/RowPresenter),[VerticalGridPresenter](https://developer.android.com/reference/android/support/v17/leanback/widget/VerticalGridPresenter) |---|---| | [AbstractDetailsDescriptionPresenter](https://developer.android.com/reference/android/support/v17/leanback/widget/AbstractDetailsDescriptionPresenter) | An abstract `https://developer.android.com/reference/android/support/v17/leanback/widget/Presenter` for rendering a detailed description of an item. | | [DetailsOverviewLogoPresenter](https://developer.android.com/reference/android/support/v17/leanback/widget/DetailsOverviewLogoPresenter) | Presenter that responsible to create a ImageView and bind to DetailsOverviewRow. | | [DividerPresenter](https://developer.android.com/reference/android/support/v17/leanback/widget/DividerPresenter) | DividerPresenter provides a default presentation for `https://developer.android.com/reference/android/support/v17/leanback/widget/DividerRow` in HeadersFragment. | | [RowHeaderPresenter](https://developer.android.com/reference/android/support/v17/leanback/widget/RowHeaderPresenter) | RowHeaderPresenter provides a default presentation for `https://developer.android.com/reference/android/support/v17/leanback/widget/HeaderItem` using a `https://developer.android.com/reference/android/support/v17/leanback/widget/RowHeaderView` and optionally a TextView for description. | | [RowPresenter](https://developer.android.com/reference/android/support/v17/leanback/widget/RowPresenter) | An abstract `https://developer.android.com/reference/android/support/v17/leanback/widget/Presenter` that renders an Object in RowsFragment, the object can be subclass `https://developer.android.com/reference/android/support/v17/leanback/widget/Row` or a generic one. | | [VerticalGridPresenter](https://developer.android.com/reference/android/support/v17/leanback/widget/VerticalGridPresenter) | A presenter that renders objects in a `https://developer.android.com/reference/android/support/v17/leanback/widget/VerticalGridView`. | |

|---|---|
| [![](https://developer.android.com/static/assets/images/styles/disclosure_down.png)](https://developer.android.com/reference/android/support/v17/leanback/widget/Presenter#)Known Indirect Subclasses [AbstractMediaItemPresenter](https://developer.android.com/reference/android/support/v17/leanback/widget/AbstractMediaItemPresenter),[AbstractMediaListHeaderPresenter](https://developer.android.com/reference/android/support/v17/leanback/widget/AbstractMediaListHeaderPresenter),[DetailsOverviewRowPresenter](https://developer.android.com/reference/android/support/v17/leanback/widget/DetailsOverviewRowPresenter),[FullWidthDetailsOverviewRowPresenter](https://developer.android.com/reference/android/support/v17/leanback/widget/FullWidthDetailsOverviewRowPresenter),[ListRowPresenter](https://developer.android.com/reference/android/support/v17/leanback/widget/ListRowPresenter),[PlaybackControlsRowPresenter](https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackControlsRowPresenter),[PlaybackRowPresenter](https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackRowPresenter),[PlaybackTransportRowPresenter](https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackTransportRowPresenter) |---|---| | [AbstractMediaItemPresenter](https://developer.android.com/reference/android/support/v17/leanback/widget/AbstractMediaItemPresenter) | Abstract `https://developer.android.com/reference/android/support/v17/leanback/widget/Presenter` class for rendering media items in a playlist format. | | [AbstractMediaListHeaderPresenter](https://developer.android.com/reference/android/support/v17/leanback/widget/AbstractMediaListHeaderPresenter) | Abstract presenter class for rendering the header for a list of media items in a playlist. | | [DetailsOverviewRowPresenter](https://developer.android.com/reference/android/support/v17/leanback/widget/DetailsOverviewRowPresenter) | *This class was deprecated in API level 24.1.0. Use `https://developer.android.com/reference/android/support/v17/leanback/widget/FullWidthDetailsOverviewRowPresenter`* | | [FullWidthDetailsOverviewRowPresenter](https://developer.android.com/reference/android/support/v17/leanback/widget/FullWidthDetailsOverviewRowPresenter) | Renders a `https://developer.android.com/reference/android/support/v17/leanback/widget/DetailsOverviewRow` to display an overview of an item. | | [ListRowPresenter](https://developer.android.com/reference/android/support/v17/leanback/widget/ListRowPresenter) | ListRowPresenter renders `https://developer.android.com/reference/android/support/v17/leanback/widget/ListRow` using a `https://developer.android.com/reference/android/support/v17/leanback/widget/HorizontalGridView` hosted in a `https://developer.android.com/reference/android/support/v17/leanback/widget/ListRowView`. | | [PlaybackControlsRowPresenter](https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackControlsRowPresenter) | A PlaybackControlsRowPresenter renders a `https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackControlsRow` to display a series of playback control buttons. | | [PlaybackRowPresenter](https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackRowPresenter) | Subclass of `https://developer.android.com/reference/android/support/v17/leanback/widget/RowPresenter` that can define the desired behavior when the view reappears. | | [PlaybackTransportRowPresenter](https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackTransportRowPresenter) | A PlaybackTransportRowPresenter renders a `https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackControlsRow` to display a series of playback control buttons. | ||

<br />

*** ** * ** ***

A Presenter is used to generate `https://developer.android.com/reference/android/view/View.html`s and bind Objects to them on
demand. It is closely related to the concept of an `https://developer.android.com/reference/android/support/v7/widget/RecyclerView.Adapter`, but is
not position-based. The leanback framework implements the adapter concept using
`https://developer.android.com/reference/android/support/v17/leanback/widget/ObjectAdapter` which refers to a Presenter (or `https://developer.android.com/reference/android/support/v17/leanback/widget/PresenterSelector`) instance.


Presenters should be stateless. Presenters typically extend `https://developer.android.com/reference/android/support/v17/leanback/widget/Presenter.ViewHolder` to store all
necessary view state information, such as references to child views to be used when
binding to avoid expensive calls to `https://developer.android.com/reference/android/view/View.html#findViewById(int)`.


A trivial Presenter that takes a string and renders it into a `https://developer.android.com/reference/android/widget/TextView.html`:

```gdscript
 public class StringTextViewPresenter extends Presenter {
     // This class does not need a custom ViewHolder, since it does not use
     // a complex layout.

     @Override
     public ViewHolder onCreateViewHolder(ViewGroup parent) {
         return new ViewHolder(new TextView(parent.getContext()));
     }

     @Override
     public void onBindViewHolder(ViewHolder viewHolder, Object item) {
         String str = (String) item;
         TextView textView = (TextView) viewHolder.mView;

         textView.setText(item);
     }

     @Override
     public void onUnbindViewHolder(ViewHolder viewHolder) {
         // Nothing to unbind for TextView, but if this viewHolder had
         // allocated bitmaps, they can be released here.
     }
 }
 
```
In addition to view creation and binding, Presenter allows dynamic interface (facet) to be added: `https://developer.android.com/reference/android/support/v17/leanback/widget/Presenter#setFacet(java.lang.Class<?>, java.lang.Object)`. Supported facets:
- `https://developer.android.com/reference/android/support/v17/leanback/widget/ItemAlignmentFacet` is used by `https://developer.android.com/reference/android/support/v17/leanback/widget/HorizontalGridView` and `https://developer.android.com/reference/android/support/v17/leanback/widget/VerticalGridView` to customize child alignment.

  <br />

  ## Summary

  | ### Nested classes ||
  |---|---|
  | ` class` | `https://developer.android.com/reference/android/support/v17/leanback/widget/Presenter.ViewHolder` ViewHolder can be subclassed and used to cache any view accessors needed to improve binding performance (for example, results of findViewById) without needing to subclass a View. |
  | ` class` | `https://developer.android.com/reference/android/support/v17/leanback/widget/Presenter.ViewHolderTask` Base class to perform a task on Presenter.ViewHolder. |

  | ### Public constructors ||
  |---|---|
  | ` https://developer.android.com/reference/android/support/v17/leanback/widget/Presenter#Presenter()() ` |

  | ### Public methods ||
  |---|---|
  | ` final Object` | ` https://developer.android.com/reference/android/support/v17/leanback/widget/Presenter#getFacet(java.lang.Class<?>)(Class<?> facetClass) ` Queries optional implemented facet. |
  | ` abstract void` | ` https://developer.android.com/reference/android/support/v17/leanback/widget/Presenter#onBindViewHolder(android.support.v17.leanback.widget.Presenter.ViewHolder, java.lang.Object)(https://developer.android.com/reference/android/support/v17/leanback/widget/Presenter.ViewHolder viewHolder, Object item) ` Binds a `https://developer.android.com/reference/android/view/View.html` to an item. |
  | ` void` | ` https://developer.android.com/reference/android/support/v17/leanback/widget/Presenter#onBindViewHolder(android.support.v17.leanback.widget.Presenter.ViewHolder, java.lang.Object, java.util.List<java.lang.Object>)(https://developer.android.com/reference/android/support/v17/leanback/widget/Presenter.ViewHolder viewHolder, Object item, List<Object> payloads) ` Binds a `https://developer.android.com/reference/android/view/View.html` to an item with a list of payloads. |
  | ` abstract https://developer.android.com/reference/android/support/v17/leanback/widget/Presenter.ViewHolder` | ` https://developer.android.com/reference/android/support/v17/leanback/widget/Presenter#onCreateViewHolder(android.view.ViewGroup)(https://developer.android.com/reference/android/view/ViewGroup.html parent) ` Creates a new `https://developer.android.com/reference/android/view/View.html`. |
  | ` abstract void` | ` https://developer.android.com/reference/android/support/v17/leanback/widget/Presenter#onUnbindViewHolder(android.support.v17.leanback.widget.Presenter.ViewHolder)(https://developer.android.com/reference/android/support/v17/leanback/widget/Presenter.ViewHolder viewHolder) ` Unbinds a `https://developer.android.com/reference/android/view/View.html` from an item. |
  | ` void` | ` https://developer.android.com/reference/android/support/v17/leanback/widget/Presenter#onViewAttachedToWindow(android.support.v17.leanback.widget.Presenter.ViewHolder)(https://developer.android.com/reference/android/support/v17/leanback/widget/Presenter.ViewHolder holder) ` Called when a view created by this presenter has been attached to a window. |
  | ` void` | ` https://developer.android.com/reference/android/support/v17/leanback/widget/Presenter#onViewDetachedFromWindow(android.support.v17.leanback.widget.Presenter.ViewHolder)(https://developer.android.com/reference/android/support/v17/leanback/widget/Presenter.ViewHolder holder) ` Called when a view created by this presenter has been detached from its window. |
  | ` final void` | ` https://developer.android.com/reference/android/support/v17/leanback/widget/Presenter#setFacet(java.lang.Class<?>, java.lang.Object)(Class<?> facetClass, Object facetImpl) ` Sets dynamic implemented facet in addition to basic Presenter functions. |
  | ` void` | ` https://developer.android.com/reference/android/support/v17/leanback/widget/Presenter#setOnClickListener(android.support.v17.leanback.widget.Presenter.ViewHolder, android.view.View.OnClickListener)(https://developer.android.com/reference/android/support/v17/leanback/widget/Presenter.ViewHolder holder, https://developer.android.com/reference/android/view/View.OnClickListener.html listener) ` Called to set a click listener for the given view holder. |

  | ### Protected methods ||
  |---|---|
  | ` static void` | ` https://developer.android.com/reference/android/support/v17/leanback/widget/Presenter#cancelAnimationsRecursive(android.view.View)(https://developer.android.com/reference/android/view/View.html view) ` Utility method for removing all running animations on a view. |

  | ### Inherited methods |
  |---|---|
  | [![](https://developer.android.com/static/assets/images/styles/disclosure_down.png)](https://developer.android.com/reference/android/support/v17/leanback/widget/Presenter#)From class ` java.lang.Object ` |---|---| | ` Object` | ` clone() ` | | ` boolean` | ` equals(Object arg0) ` | | ` void` | ` finalize() ` | | ` final Class<?>` | ` getClass() ` | | ` int` | ` hashCode() ` | | ` final void` | ` notify() ` | | ` final void` | ` notifyAll() ` | | ` String` | ` toString() ` | | ` final void` | ` wait(long arg0, int arg1) ` | | ` final void` | ` wait(long arg0) ` | | ` final void` | ` wait() ` | ||
  | [![](https://developer.android.com/static/assets/images/styles/disclosure_down.png)](https://developer.android.com/reference/android/support/v17/leanback/widget/Presenter#)From interface ` https://developer.android.com/reference/android/support/v17/leanback/widget/FacetProvider ` |---|---| | ` abstract Object` | ` https://developer.android.com/reference/android/support/v17/leanback/widget/FacetProvider#getFacet(java.lang.Class<?>)(Class<?> facetClass) ` Queries optional implemented facet. | ||

  ## Public constructors

  ### Presenter

  added in [version 22.1.0](https://developer.android.com/topic/libraries/support-library/revisions)

  ```
  Presenter ()
  ```

  <br />

  <br />

  ## Public methods

  ### getFacet

  added in [version 24.1.0](https://developer.android.com/topic/libraries/support-library/revisions)

  ```
  Object getFacet (Class<?> facetClass)
  ```

  Queries optional implemented facet.

  <br />

  | Parameters ||
  |---|---|
  | `facetClass` | `Class`: Facet classes to query, examples are: class of `https://developer.android.com/reference/android/support/v17/leanback/widget/ItemAlignmentFacet`. <br /> |

  | Returns ||
  |---|---|
  | `Object` | Facet implementation for the facetClass or null if feature not implemented. <br /> |

  ### onBindViewHolder

  added in [version 22.1.0](https://developer.android.com/topic/libraries/support-library/revisions)

  ```
  void onBindViewHolder (Presenter.ViewHolder viewHolder, 
                  Object item)
  ```

  Binds a `https://developer.android.com/reference/android/view/View.html` to an item.

  <br />

  | Parameters ||
  |---|---|
  | `viewHolder` | `Presenter.ViewHolder` <br /> |
  | `item` | `Object` <br /> |

  ### onBindViewHolder

  added in [version 27.1.0](https://developer.android.com/topic/libraries/support-library/revisions)

  ```
  void onBindViewHolder (Presenter.ViewHolder viewHolder, 
                  Object item, 
                  List<Object> payloads)
  ```

  Binds a `https://developer.android.com/reference/android/view/View.html` to an item with a list of payloads.

  <br />

  | Parameters ||
  |---|---|
  | `viewHolder` | `Presenter.ViewHolder`: The ViewHolder which should be updated to represent the contents of the item at the given position in the data set. <br /> |
  | `item` | `Object`: The item which should be bound to view holder. <br /> |
  | `payloads` | `List`: A non-null list of merged payloads. Can be empty list if requires full update. <br /> |

  ### onCreateViewHolder

  added in [version 22.1.0](https://developer.android.com/topic/libraries/support-library/revisions)

  ```
  Presenter.ViewHolder onCreateViewHolder (ViewGroup parent)
  ```

  Creates a new `https://developer.android.com/reference/android/view/View.html`.

  <br />

  | Parameters ||
  |---|---|
  | `parent` | `ViewGroup` <br /> |

  | Returns ||
  |---|---|
  | `https://developer.android.com/reference/android/support/v17/leanback/widget/Presenter.ViewHolder` | <br /> |

  ### onUnbindViewHolder

  added in [version 22.1.0](https://developer.android.com/topic/libraries/support-library/revisions)

  ```
  void onUnbindViewHolder (Presenter.ViewHolder viewHolder)
  ```

  Unbinds a `https://developer.android.com/reference/android/view/View.html` from an item. Any expensive references may be
  released here, and any fields that are not bound for every item should be
  cleared here.

  <br />

  | Parameters ||
  |---|---|
  | `viewHolder` | `Presenter.ViewHolder` <br /> |

  ### onViewAttachedToWindow

  added in [version 22.1.0](https://developer.android.com/topic/libraries/support-library/revisions)

  ```
  void onViewAttachedToWindow (Presenter.ViewHolder holder)
  ```

  Called when a view created by this presenter has been attached to a window.

  This can be used as a reasonable signal that the view is about to be seen
  by the user. If the adapter previously freed any resources in
  `https://developer.android.com/reference/android/support/v17/leanback/widget/Presenter#onViewDetachedFromWindow(android.support.v17.leanback.widget.Presenter.ViewHolder)`
  those resources should be restored here.

  <br />

  <br />

  | Parameters ||
  |---|---|
  | `holder` | `Presenter.ViewHolder`: Holder of the view being attached <br /> |

  ### onViewDetachedFromWindow

  added in [version 22.1.0](https://developer.android.com/topic/libraries/support-library/revisions)

  ```
  void onViewDetachedFromWindow (Presenter.ViewHolder holder)
  ```

  Called when a view created by this presenter has been detached from its window.

  Becoming detached from the window is not necessarily a permanent condition;
  the consumer of an presenter's views may choose to cache views offscreen while they
  are not visible, attaching and detaching them as appropriate.
  Any view property animations should be cancelled here or the view may fail to be recycled.

  <br />

  <br />

  | Parameters ||
  |---|---|
  | `holder` | `Presenter.ViewHolder`: Holder of the view being detached <br /> |

  ### setFacet

  added in [version 24.1.0](https://developer.android.com/topic/libraries/support-library/revisions)

  ```
  void setFacet (Class<?> facetClass, 
                  Object facetImpl)
  ```

  Sets dynamic implemented facet in addition to basic Presenter functions.

  <br />

  | Parameters ||
  |---|---|
  | `facetClass` | `Class`: Facet classes to query, can be class of `https://developer.android.com/reference/android/support/v17/leanback/widget/ItemAlignmentFacet`. <br /> |
  | `facetImpl` | `Object`: Facet implementation. <br /> |

  ### setOnClickListener

  added in [version 22.1.0](https://developer.android.com/topic/libraries/support-library/revisions)

  ```
  void setOnClickListener (Presenter.ViewHolder holder, 
                  View.OnClickListener listener)
  ```

  Called to set a click listener for the given view holder.

  The default implementation sets the click listener on the root view in the view holder.
  If the root view isn't focusable this method should be overridden to set the listener
  on the appropriate focusable child view(s).

  <br />

  | Parameters ||
  |---|---|
  | `holder` | `Presenter.ViewHolder`: The view holder containing the view(s) on which the listener should be set. <br /> |
  | `listener` | `View.OnClickListener`: The click listener to be set. <br /> |

  ## Protected methods

  ### cancelAnimationsRecursive

  added in [version 22.1.0](https://developer.android.com/topic/libraries/support-library/revisions)

  ```
  void cancelAnimationsRecursive (View view)
  ```

  Utility method for removing all running animations on a view.

  <br />

  | Parameters ||
  |---|---|
  | `view` | `View` <br /> |

-

  ## Interfaces

  - [BaseGridView.OnKeyInterceptListener](https://developer.android.com/reference/android/support/v17/leanback/widget/BaseGridView.OnKeyInterceptListener)
  - [BaseGridView.OnMotionInterceptListener](https://developer.android.com/reference/android/support/v17/leanback/widget/BaseGridView.OnMotionInterceptListener)
  - [BaseGridView.OnTouchInterceptListener](https://developer.android.com/reference/android/support/v17/leanback/widget/BaseGridView.OnTouchInterceptListener)
  - [BaseGridView.OnUnhandledKeyListener](https://developer.android.com/reference/android/support/v17/leanback/widget/BaseGridView.OnUnhandledKeyListener)
  - [BaseOnItemViewClickedListener](https://developer.android.com/reference/android/support/v17/leanback/widget/BaseOnItemViewClickedListener)
  - [BaseOnItemViewSelectedListener](https://developer.android.com/reference/android/support/v17/leanback/widget/BaseOnItemViewSelectedListener)
  - [BrowseFrameLayout.OnChildFocusListener](https://developer.android.com/reference/android/support/v17/leanback/widget/BrowseFrameLayout.OnChildFocusListener)
  - [BrowseFrameLayout.OnFocusSearchListener](https://developer.android.com/reference/android/support/v17/leanback/widget/BrowseFrameLayout.OnFocusSearchListener)
  - [FacetProvider](https://developer.android.com/reference/android/support/v17/leanback/widget/FacetProvider)
  - [FacetProviderAdapter](https://developer.android.com/reference/android/support/v17/leanback/widget/FacetProviderAdapter)
  - [FocusHighlight](https://developer.android.com/reference/android/support/v17/leanback/widget/FocusHighlight)
  - [FragmentAnimationProvider](https://developer.android.com/reference/android/support/v17/leanback/widget/FragmentAnimationProvider)
  - [ImeKeyMonitor](https://developer.android.com/reference/android/support/v17/leanback/widget/ImeKeyMonitor)
  - [ImeKeyMonitor.ImeKeyListener](https://developer.android.com/reference/android/support/v17/leanback/widget/ImeKeyMonitor.ImeKeyListener)
  - [MultiActionsProvider](https://developer.android.com/reference/android/support/v17/leanback/widget/MultiActionsProvider)
  - [OnActionClickedListener](https://developer.android.com/reference/android/support/v17/leanback/widget/OnActionClickedListener)
  - [OnChildLaidOutListener](https://developer.android.com/reference/android/support/v17/leanback/widget/OnChildLaidOutListener)
  - [OnChildSelectedListener](https://developer.android.com/reference/android/support/v17/leanback/widget/OnChildSelectedListener)
  - [OnItemViewClickedListener](https://developer.android.com/reference/android/support/v17/leanback/widget/OnItemViewClickedListener)
  - [OnItemViewSelectedListener](https://developer.android.com/reference/android/support/v17/leanback/widget/OnItemViewSelectedListener)
  - [PlaybackSeekUi](https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackSeekUi)
  - [SearchBar.SearchBarListener](https://developer.android.com/reference/android/support/v17/leanback/widget/SearchBar.SearchBarListener)
  - [SearchBar.SearchBarPermissionListener](https://developer.android.com/reference/android/support/v17/leanback/widget/SearchBar.SearchBarPermissionListener)
  - [SearchEditText.OnKeyboardDismissListener](https://developer.android.com/reference/android/support/v17/leanback/widget/SearchEditText.OnKeyboardDismissListener)
  - [SpeechRecognitionCallback](https://developer.android.com/reference/android/support/v17/leanback/widget/SpeechRecognitionCallback)
  - [TitleViewAdapter.Provider](https://developer.android.com/reference/android/support/v17/leanback/widget/TitleViewAdapter.Provider)
  - [ViewHolderTask](https://developer.android.com/reference/android/support/v17/leanback/widget/ViewHolderTask)
-

  ## Classes

  - [AbstractDetailsDescriptionPresenter](https://developer.android.com/reference/android/support/v17/leanback/widget/AbstractDetailsDescriptionPresenter)
  - [AbstractDetailsDescriptionPresenter.ViewHolder](https://developer.android.com/reference/android/support/v17/leanback/widget/AbstractDetailsDescriptionPresenter.ViewHolder)
  - [AbstractMediaItemPresenter](https://developer.android.com/reference/android/support/v17/leanback/widget/AbstractMediaItemPresenter)
  - [AbstractMediaItemPresenter.ViewHolder](https://developer.android.com/reference/android/support/v17/leanback/widget/AbstractMediaItemPresenter.ViewHolder)
  - [AbstractMediaListHeaderPresenter](https://developer.android.com/reference/android/support/v17/leanback/widget/AbstractMediaListHeaderPresenter)
  - [AbstractMediaListHeaderPresenter.ViewHolder](https://developer.android.com/reference/android/support/v17/leanback/widget/AbstractMediaListHeaderPresenter.ViewHolder)
  - [Action](https://developer.android.com/reference/android/support/v17/leanback/widget/Action)
  - [ArrayObjectAdapter](https://developer.android.com/reference/android/support/v17/leanback/widget/ArrayObjectAdapter)
  - [BaseCardView](https://developer.android.com/reference/android/support/v17/leanback/widget/BaseCardView)
  - [BaseCardView.LayoutParams](https://developer.android.com/reference/android/support/v17/leanback/widget/BaseCardView.LayoutParams)
  - [BaseGridView](https://developer.android.com/reference/android/support/v17/leanback/widget/BaseGridView)
  - [BrowseFrameLayout](https://developer.android.com/reference/android/support/v17/leanback/widget/BrowseFrameLayout)
  - [ClassPresenterSelector](https://developer.android.com/reference/android/support/v17/leanback/widget/ClassPresenterSelector)
  - [ControlButtonPresenterSelector](https://developer.android.com/reference/android/support/v17/leanback/widget/ControlButtonPresenterSelector)
  - [CursorObjectAdapter](https://developer.android.com/reference/android/support/v17/leanback/widget/CursorObjectAdapter)
  - [DetailsOverviewLogoPresenter](https://developer.android.com/reference/android/support/v17/leanback/widget/DetailsOverviewLogoPresenter)
  - [DetailsOverviewLogoPresenter.ViewHolder](https://developer.android.com/reference/android/support/v17/leanback/widget/DetailsOverviewLogoPresenter.ViewHolder)
  - [DetailsOverviewRow](https://developer.android.com/reference/android/support/v17/leanback/widget/DetailsOverviewRow)
  - [DetailsOverviewRow.Listener](https://developer.android.com/reference/android/support/v17/leanback/widget/DetailsOverviewRow.Listener)
  - [DetailsOverviewRowPresenter](https://developer.android.com/reference/android/support/v17/leanback/widget/DetailsOverviewRowPresenter)
  - [DetailsOverviewRowPresenter.ViewHolder](https://developer.android.com/reference/android/support/v17/leanback/widget/DetailsOverviewRowPresenter.ViewHolder)
  - [DetailsParallax](https://developer.android.com/reference/android/support/v17/leanback/widget/DetailsParallax)
  - [DiffCallback](https://developer.android.com/reference/android/support/v17/leanback/widget/DiffCallback)
  - [DividerPresenter](https://developer.android.com/reference/android/support/v17/leanback/widget/DividerPresenter)
  - [DividerRow](https://developer.android.com/reference/android/support/v17/leanback/widget/DividerRow)
  - [FocusHighlightHelper](https://developer.android.com/reference/android/support/v17/leanback/widget/FocusHighlightHelper)
  - [FullWidthDetailsOverviewRowPresenter](https://developer.android.com/reference/android/support/v17/leanback/widget/FullWidthDetailsOverviewRowPresenter)
  - [FullWidthDetailsOverviewRowPresenter.Listener](https://developer.android.com/reference/android/support/v17/leanback/widget/FullWidthDetailsOverviewRowPresenter.Listener)
  - [FullWidthDetailsOverviewRowPresenter.ViewHolder](https://developer.android.com/reference/android/support/v17/leanback/widget/FullWidthDetailsOverviewRowPresenter.ViewHolder)
  - [FullWidthDetailsOverviewRowPresenter.ViewHolder.DetailsOverviewRowListener](https://developer.android.com/reference/android/support/v17/leanback/widget/FullWidthDetailsOverviewRowPresenter.ViewHolder.DetailsOverviewRowListener)
  - [FullWidthDetailsOverviewSharedElementHelper](https://developer.android.com/reference/android/support/v17/leanback/widget/FullWidthDetailsOverviewSharedElementHelper)
  - [GuidanceStylist](https://developer.android.com/reference/android/support/v17/leanback/widget/GuidanceStylist)
  - [GuidanceStylist.Guidance](https://developer.android.com/reference/android/support/v17/leanback/widget/GuidanceStylist.Guidance)
  - [GuidedAction](https://developer.android.com/reference/android/support/v17/leanback/widget/GuidedAction)
  - [GuidedAction.Builder](https://developer.android.com/reference/android/support/v17/leanback/widget/GuidedAction.Builder)
  - [GuidedAction.BuilderBase](https://developer.android.com/reference/android/support/v17/leanback/widget/GuidedAction.BuilderBase)
  - [GuidedActionDiffCallback](https://developer.android.com/reference/android/support/v17/leanback/widget/GuidedActionDiffCallback)
  - [GuidedActionEditText](https://developer.android.com/reference/android/support/v17/leanback/widget/GuidedActionEditText)
  - [GuidedActionsStylist](https://developer.android.com/reference/android/support/v17/leanback/widget/GuidedActionsStylist)
  - [GuidedActionsStylist.ViewHolder](https://developer.android.com/reference/android/support/v17/leanback/widget/GuidedActionsStylist.ViewHolder)
  - [GuidedDatePickerAction](https://developer.android.com/reference/android/support/v17/leanback/widget/GuidedDatePickerAction)
  - [GuidedDatePickerAction.Builder](https://developer.android.com/reference/android/support/v17/leanback/widget/GuidedDatePickerAction.Builder)
  - [GuidedDatePickerAction.BuilderBase](https://developer.android.com/reference/android/support/v17/leanback/widget/GuidedDatePickerAction.BuilderBase)
  - [HeaderItem](https://developer.android.com/reference/android/support/v17/leanback/widget/HeaderItem)
  - [HorizontalGridView](https://developer.android.com/reference/android/support/v17/leanback/widget/HorizontalGridView)
  - [HorizontalHoverCardSwitcher](https://developer.android.com/reference/android/support/v17/leanback/widget/HorizontalHoverCardSwitcher)
  - [ImageCardView](https://developer.android.com/reference/android/support/v17/leanback/widget/ImageCardView)
  - [ItemAlignmentFacet](https://developer.android.com/reference/android/support/v17/leanback/widget/ItemAlignmentFacet)
  - [ItemAlignmentFacet.ItemAlignmentDef](https://developer.android.com/reference/android/support/v17/leanback/widget/ItemAlignmentFacet.ItemAlignmentDef)
  - [ItemBridgeAdapter](https://developer.android.com/reference/android/support/v17/leanback/widget/ItemBridgeAdapter)
  - [ItemBridgeAdapter.AdapterListener](https://developer.android.com/reference/android/support/v17/leanback/widget/ItemBridgeAdapter.AdapterListener)
  - [ItemBridgeAdapter.ViewHolder](https://developer.android.com/reference/android/support/v17/leanback/widget/ItemBridgeAdapter.ViewHolder)
  - [ItemBridgeAdapter.Wrapper](https://developer.android.com/reference/android/support/v17/leanback/widget/ItemBridgeAdapter.Wrapper)
  - [ItemBridgeAdapterShadowOverlayWrapper](https://developer.android.com/reference/android/support/v17/leanback/widget/ItemBridgeAdapterShadowOverlayWrapper)
  - [ListRow](https://developer.android.com/reference/android/support/v17/leanback/widget/ListRow)
  - [ListRowHoverCardView](https://developer.android.com/reference/android/support/v17/leanback/widget/ListRowHoverCardView)
  - [ListRowPresenter](https://developer.android.com/reference/android/support/v17/leanback/widget/ListRowPresenter)
  - [ListRowPresenter.SelectItemViewHolderTask](https://developer.android.com/reference/android/support/v17/leanback/widget/ListRowPresenter.SelectItemViewHolderTask)
  - [ListRowPresenter.ViewHolder](https://developer.android.com/reference/android/support/v17/leanback/widget/ListRowPresenter.ViewHolder)
  - [ListRowView](https://developer.android.com/reference/android/support/v17/leanback/widget/ListRowView)
  - [MultiActionsProvider.MultiAction](https://developer.android.com/reference/android/support/v17/leanback/widget/MultiActionsProvider.MultiAction)
  - [ObjectAdapter](https://developer.android.com/reference/android/support/v17/leanback/widget/ObjectAdapter)
  - [ObjectAdapter.DataObserver](https://developer.android.com/reference/android/support/v17/leanback/widget/ObjectAdapter.DataObserver)
  - [OnChildViewHolderSelectedListener](https://developer.android.com/reference/android/support/v17/leanback/widget/OnChildViewHolderSelectedListener)
  - [PageRow](https://developer.android.com/reference/android/support/v17/leanback/widget/PageRow)
  - [Parallax](https://developer.android.com/reference/android/support/v17/leanback/widget/Parallax)
  - [Parallax.FloatProperty](https://developer.android.com/reference/android/support/v17/leanback/widget/Parallax.FloatProperty)
  - [Parallax.IntProperty](https://developer.android.com/reference/android/support/v17/leanback/widget/Parallax.IntProperty)
  - [Parallax.PropertyMarkerValue](https://developer.android.com/reference/android/support/v17/leanback/widget/Parallax.PropertyMarkerValue)
  - [ParallaxEffect](https://developer.android.com/reference/android/support/v17/leanback/widget/ParallaxEffect)
  - [ParallaxTarget](https://developer.android.com/reference/android/support/v17/leanback/widget/ParallaxTarget)
  - [ParallaxTarget.DirectPropertyTarget](https://developer.android.com/reference/android/support/v17/leanback/widget/ParallaxTarget.DirectPropertyTarget)
  - [ParallaxTarget.PropertyValuesHolderTarget](https://developer.android.com/reference/android/support/v17/leanback/widget/ParallaxTarget.PropertyValuesHolderTarget)
  - [PlaybackControlsRow](https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackControlsRow)
  - [PlaybackControlsRow.ClosedCaptioningAction](https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackControlsRow.ClosedCaptioningAction)
  - [PlaybackControlsRow.FastForwardAction](https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackControlsRow.FastForwardAction)
  - [PlaybackControlsRow.HighQualityAction](https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackControlsRow.HighQualityAction)
  - [PlaybackControlsRow.MoreActions](https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackControlsRow.MoreActions)
  - [PlaybackControlsRow.MultiAction](https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackControlsRow.MultiAction)
  - [PlaybackControlsRow.OnPlaybackProgressCallback](https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackControlsRow.OnPlaybackProgressCallback)
  - [PlaybackControlsRow.PictureInPictureAction](https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackControlsRow.PictureInPictureAction)
  - [PlaybackControlsRow.PlayPauseAction](https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackControlsRow.PlayPauseAction)
  - [PlaybackControlsRow.RepeatAction](https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackControlsRow.RepeatAction)
  - [PlaybackControlsRow.RewindAction](https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackControlsRow.RewindAction)
  - [PlaybackControlsRow.ShuffleAction](https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackControlsRow.ShuffleAction)
  - [PlaybackControlsRow.SkipNextAction](https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackControlsRow.SkipNextAction)
  - [PlaybackControlsRow.SkipPreviousAction](https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackControlsRow.SkipPreviousAction)
  - [PlaybackControlsRow.ThumbsAction](https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackControlsRow.ThumbsAction)
  - [PlaybackControlsRow.ThumbsDownAction](https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackControlsRow.ThumbsDownAction)
  - [PlaybackControlsRow.ThumbsUpAction](https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackControlsRow.ThumbsUpAction)
  - [PlaybackControlsRowPresenter](https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackControlsRowPresenter)
  - [PlaybackControlsRowPresenter.ViewHolder](https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackControlsRowPresenter.ViewHolder)
  - [PlaybackRowPresenter](https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackRowPresenter)
  - [PlaybackRowPresenter.ViewHolder](https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackRowPresenter.ViewHolder)
  - [PlaybackSeekDataProvider](https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackSeekDataProvider)
  - [PlaybackSeekDataProvider.ResultCallback](https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackSeekDataProvider.ResultCallback)
  - [PlaybackSeekUi.Client](https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackSeekUi.Client)
  - [PlaybackTransportRowPresenter](https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackTransportRowPresenter)
  - [PlaybackTransportRowPresenter.ViewHolder](https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackTransportRowPresenter.ViewHolder)
  - [Presenter](https://developer.android.com/reference/android/support/v17/leanback/widget/Presenter)
  - [Presenter.ViewHolder](https://developer.android.com/reference/android/support/v17/leanback/widget/Presenter.ViewHolder)
  - [Presenter.ViewHolderTask](https://developer.android.com/reference/android/support/v17/leanback/widget/Presenter.ViewHolderTask)
  - [PresenterSelector](https://developer.android.com/reference/android/support/v17/leanback/widget/PresenterSelector)
  - [PresenterSwitcher](https://developer.android.com/reference/android/support/v17/leanback/widget/PresenterSwitcher)
  - [RecyclerViewParallax](https://developer.android.com/reference/android/support/v17/leanback/widget/RecyclerViewParallax)
  - [RecyclerViewParallax.ChildPositionProperty](https://developer.android.com/reference/android/support/v17/leanback/widget/RecyclerViewParallax.ChildPositionProperty)
  - [Row](https://developer.android.com/reference/android/support/v17/leanback/widget/Row)
  - [RowHeaderPresenter](https://developer.android.com/reference/android/support/v17/leanback/widget/RowHeaderPresenter)
  - [RowHeaderPresenter.ViewHolder](https://developer.android.com/reference/android/support/v17/leanback/widget/RowHeaderPresenter.ViewHolder)
  - [RowHeaderView](https://developer.android.com/reference/android/support/v17/leanback/widget/RowHeaderView)
  - [RowPresenter](https://developer.android.com/reference/android/support/v17/leanback/widget/RowPresenter)
  - [RowPresenter.ViewHolder](https://developer.android.com/reference/android/support/v17/leanback/widget/RowPresenter.ViewHolder)
  - [SearchBar](https://developer.android.com/reference/android/support/v17/leanback/widget/SearchBar)
  - [SearchEditText](https://developer.android.com/reference/android/support/v17/leanback/widget/SearchEditText)
  - [SearchOrbView](https://developer.android.com/reference/android/support/v17/leanback/widget/SearchOrbView)
  - [SearchOrbView.Colors](https://developer.android.com/reference/android/support/v17/leanback/widget/SearchOrbView.Colors)
  - [SectionRow](https://developer.android.com/reference/android/support/v17/leanback/widget/SectionRow)
  - [ShadowOverlayContainer](https://developer.android.com/reference/android/support/v17/leanback/widget/ShadowOverlayContainer)
  - [ShadowOverlayHelper](https://developer.android.com/reference/android/support/v17/leanback/widget/ShadowOverlayHelper)
  - [ShadowOverlayHelper.Builder](https://developer.android.com/reference/android/support/v17/leanback/widget/ShadowOverlayHelper.Builder)
  - [ShadowOverlayHelper.Options](https://developer.android.com/reference/android/support/v17/leanback/widget/ShadowOverlayHelper.Options)
  - [SinglePresenterSelector](https://developer.android.com/reference/android/support/v17/leanback/widget/SinglePresenterSelector)
  - [SparseArrayObjectAdapter](https://developer.android.com/reference/android/support/v17/leanback/widget/SparseArrayObjectAdapter)
  - [SpeechOrbView](https://developer.android.com/reference/android/support/v17/leanback/widget/SpeechOrbView)
  - [TitleHelper](https://developer.android.com/reference/android/support/v17/leanback/widget/TitleHelper)
  - [TitleView](https://developer.android.com/reference/android/support/v17/leanback/widget/TitleView)
  - [TitleViewAdapter](https://developer.android.com/reference/android/support/v17/leanback/widget/TitleViewAdapter)
  - [VerticalGridPresenter](https://developer.android.com/reference/android/support/v17/leanback/widget/VerticalGridPresenter)
  - [VerticalGridPresenter.ViewHolder](https://developer.android.com/reference/android/support/v17/leanback/widget/VerticalGridPresenter.ViewHolder)
  - [VerticalGridView](https://developer.android.com/reference/android/support/v17/leanback/widget/VerticalGridView)