# BrowseSupportFragment

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

*** ** * ** ***


```
public class BrowseSupportFragment extends BaseSupportFragment
```

<br />

|---|---|---|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object.html) |||||
| ↳ | [androidx.fragment.app.Fragment](https://developer.android.com/reference/androidx/fragment/app/Fragment) ||||
|   | ↳ | [androidx.leanback.app.BrandedSupportFragment](https://developer.android.com/reference/androidx/leanback/app/BrandedSupportFragment) |||
|   |   | ↳ | [androidx.leanback.app.BaseSupportFragment](https://developer.android.com/reference/androidx/leanback/app/BaseSupportFragment) ||
|   |   |   | ↳ | [androidx.leanback.app.BrowseSupportFragment](https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment) |

*** ** * ** ***

A fragment for creating Leanback browse screens. It is composed of a RowsSupportFragment and a HeadersSupportFragment.

A BrowseSupportFragment renders the elements of its `https://developer.android.com/reference/androidx/leanback/widget/ObjectAdapter` as a set of rows in a vertical list. The elements in this adapter must be subclasses of `https://developer.android.com/reference/androidx/leanback/widget/Row`.

The HeadersSupportFragment can be set to be either shown or hidden by default, or may be disabled entirely. See `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#setHeadersState(int)` for details.

By default the BrowseSupportFragment includes support for returning to the headers when the user presses Back. For Activities that customize `https://developer.android.com/reference/androidx/activity/ComponentActivity#onBackPressed()`, you must disable this default Back key support by calling `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#setHeadersTransitionOnBackEnabled(boolean)` with false and use `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment.BrowseTransitionListener` and `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#startHeadersTransition(boolean)`.

The recommended theme to use with a BrowseSupportFragment is .

## Summary

| ### Nested types |
|---|
| `public class https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment.BrowseTransitionListener` Listener for transitions between browse headers and rows. |
| `public abstract class https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment.FragmentFactory<T extends https://developer.android.com/reference/androidx/fragment/app/Fragment>` Factory class responsible for creating fragment given the current item. |
| `public interface https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment.FragmentHost` Possible set of actions that `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment` exposes to clients. |
| `public class https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment.ListRowFragmentFactory extends https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment.FragmentFactory<https://developer.android.com/reference/androidx/leanback/app/RowsSupportFragment>` FragmentFactory implementation for `https://developer.android.com/reference/androidx/leanback/widget/ListRow`. |
| `public class https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment.MainFragmentAdapter<T extends https://developer.android.com/reference/androidx/fragment/app/Fragment>` Interface that defines the interaction between `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment` and its main content fragment. |
| `public interface https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment.MainFragmentAdapterProvider` Interface to be implemented by all fragments for providing an instance of `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment.MainFragmentAdapter`. |
| `public final class https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment.MainFragmentAdapterRegistry` Registry class maintaining the mapping of `https://developer.android.com/reference/androidx/leanback/widget/Row` subclasses to `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment.FragmentFactory`. |
| `public class https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment.MainFragmentRowsAdapter<T extends https://developer.android.com/reference/androidx/fragment/app/Fragment>` This is used to pass information to `https://developer.android.com/reference/androidx/leanback/app/RowsSupportFragment` or its subclasses. |
| `public interface https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment.MainFragmentRowsAdapterProvider` Interface to be implemented by `https://developer.android.com/reference/androidx/leanback/app/RowsSupportFragment` and its subclasses for providing an instance of `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment.MainFragmentRowsAdapter`. |

| ### Constants |
|---|---|
| `static final int` | `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#HEADERS_DISABLED() = 3` The headers fragment is disabled and will never be shown. |
| `static final int` | `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#HEADERS_ENABLED() = 1` The headers fragment is enabled and shown by default. |
| `static final int` | `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#HEADERS_HIDDEN() = 2` The headers fragment is enabled and hidden by default. |

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#BrowseSupportFragment()()` |

| ### Public methods |
|---|---|
| `static https://developer.android.com/reference/android/os/Bundle.html` | `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#createArgs(android.os.Bundle,java.lang.String,int)(https://developer.android.com/reference/android/os/Bundle.html args, https://developer.android.com/reference/java/lang/String.html title, int headersState)` Creates arguments for a browse fragment. |
| `void` | `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#enableMainFragmentScaling(boolean)(boolean enable)` Enables scaling of main fragment when headers are present. |
| `void` | `[enableRowScaling](https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#enableRowScaling(boolean))(boolean enable)` **This method is deprecated.** use `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#enableMainFragmentScaling(boolean)` instead. <br /> |
| `https://developer.android.com/reference/androidx/leanback/widget/ObjectAdapter` | `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#getAdapter()()` Returns the adapter containing the rows for the fragment. |
| `@https://developer.android.com/reference/androidx/annotation/ColorInt int` | `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#getBrandColor()()` Returns the brand color for the browse fragment. |
| `int` | `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#getHeadersState()()` Returns the state of the headers column in the browse fragment. |
| `https://developer.android.com/reference/androidx/leanback/app/HeadersSupportFragment` | `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#getHeadersSupportFragment()()` Get currently bound HeadersSupportFragment or null if HeadersSupportFragment has not been created yet. |
| `https://developer.android.com/reference/androidx/fragment/app/Fragment` | `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#getMainFragment()()` |
| `final https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment.MainFragmentAdapterRegistry` | `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#getMainFragmentRegistry()()` |
| `https://developer.android.com/reference/androidx/leanback/widget/OnItemViewClickedListener` | `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#getOnItemViewClickedListener()()` Returns the item Clicked listener. |
| `https://developer.android.com/reference/androidx/leanback/widget/OnItemViewSelectedListener` | `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#getOnItemViewSelectedListener()()` Returns an item selection listener. |
| `https://developer.android.com/reference/androidx/leanback/app/RowsSupportFragment` | `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#getRowsSupportFragment()()` Get RowsSupportFragment if it's bound to BrowseSupportFragment or null if either BrowseSupportFragment has not been created yet or a different fragment is bound to it. |
| `int` | `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#getSelectedPosition()()` Gets position of currently selected row. |
| `https://developer.android.com/reference/androidx/leanback/widget/RowPresenter.ViewHolder` | `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#getSelectedRowViewHolder()()` |
| `final boolean` | `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#isHeadersTransitionOnBackEnabled()()` Returns true if headers transition on back key support is enabled. |
| `boolean` | `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#isInHeadersTransition()()` Returns true if the headers transition is currently running. |
| `boolean` | `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#isShowingHeaders()()` Returns true if headers are shown. |
| `void` | `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#onCreate(android.os.Bundle)(https://developer.android.com/reference/android/os/Bundle.html savedInstanceState)` Called to do initial creation of a fragment. |
| `https://developer.android.com/reference/androidx/leanback/app/HeadersSupportFragment` | `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#onCreateHeadersSupportFragment()()` Creates a new `https://developer.android.com/reference/androidx/leanback/app/HeadersSupportFragment` instance. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/view/View.html` | `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#onCreateView(android.view.LayoutInflater,android.view.ViewGroup,android.os.Bundle)( @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/view/LayoutInflater.html inflater, @https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/view/ViewGroup.html container, @https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/os/Bundle.html savedInstanceState )` Called to have the fragment instantiate its user interface view. |
| `void` | `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#onDestroy()()` Called when the fragment is no longer in use. |
| `void` | `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#onDestroyView()()` Called when the view previously created by `https://developer.android.com/reference/androidx/fragment/app/Fragment#onCreateView(android.view.LayoutInflater,android.view.ViewGroup,android.os.Bundle)` has been detached from the fragment. |
| `void` | `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#onSaveInstanceState(android.os.Bundle)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/os/Bundle.html outState)` Called to ask the fragment to save its current dynamic state, so it can later be reconstructed in a new instance if its process is restarted. |
| `void` | `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#onStart()()` Called when the Fragment is visible to the user. |
| `void` | `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#onStop()()` Called when the Fragment is no longer started. |
| `void` | `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#setAdapter(androidx.leanback.widget.ObjectAdapter)(https://developer.android.com/reference/androidx/leanback/widget/ObjectAdapter adapter)` Sets the adapter containing the rows for the fragment. |
| `void` | `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#setBrandColor(int)(@https://developer.android.com/reference/androidx/annotation/ColorInt int color)` Sets the brand color for the browse fragment. |
| `void` | `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#setBrowseTransitionListener(androidx.leanback.app.BrowseSupportFragment.BrowseTransitionListener)( https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment.BrowseTransitionListener listener )` Sets a listener for browse fragment transitions. |
| `void` | `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#setHeaderPresenterSelector(androidx.leanback.widget.PresenterSelector)(https://developer.android.com/reference/androidx/leanback/widget/PresenterSelector headerPresenterSelector)` Sets the `https://developer.android.com/reference/androidx/leanback/widget/PresenterSelector` used to render the row headers. |
| `void` | `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#setHeadersState(int)(int headersState)` Sets the state for the headers column in the browse fragment. |
| `final void` | `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#setHeadersTransitionOnBackEnabled(boolean)(boolean headersBackStackEnabled)` Enables/disables headers transition on back key support. |
| `void` | `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#setOnItemViewClickedListener(androidx.leanback.widget.OnItemViewClickedListener)(https://developer.android.com/reference/androidx/leanback/widget/OnItemViewClickedListener listener)` Sets an item clicked listener on the fragment. |
| `void` | `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#setOnItemViewSelectedListener(androidx.leanback.widget.OnItemViewSelectedListener)(https://developer.android.com/reference/androidx/leanback/widget/OnItemViewSelectedListener listener)` Sets an item selection listener. |
| `void` | `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#setSelectedPosition(int)(int position)` Sets the selected row position with smooth animation. |
| `void` | `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#setSelectedPosition(int,boolean)(int position, boolean smooth)` Sets the selected row position. |
| `void` | `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#setSelectedPosition(int,boolean,androidx.leanback.widget.Presenter.ViewHolderTask)( int rowPosition, boolean smooth, https://developer.android.com/reference/androidx/leanback/widget/Presenter.ViewHolderTask rowHolderTask )` Selects a Row and perform an optional task on the Row. |
| `void` | `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#startHeadersTransition(boolean)(boolean withHeaders)` Starts a headers transition. |

| ### Protected methods |
|---|---|
| `https://developer.android.com/reference/java/lang/Object.html` | `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#createEntranceTransition()()` Create entrance transition. |
| `void` | `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#onEntranceTransitionEnd()()` Callback when entrance transition is ended. |
| `void` | `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#onEntranceTransitionPrepare()()` Callback when entrance transition is prepared. |
| `void` | `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#onEntranceTransitionStart()()` Callback when entrance transition is started. |
| `void` | `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#runEntranceTransition(java.lang.Object)(https://developer.android.com/reference/java/lang/Object.html entranceTransition)` Run entrance transition. |

### Inherited methods

From [androidx.activity.result.ActivityResultCaller](https://developer.android.com/reference/androidx/activity/result/ActivityResultCaller) `abstract https://developer.android.com/reference/androidx/activity/result/ActivityResultLauncher<I>` `<I, O> https://developer.android.com/reference/androidx/activity/result/ActivityResultCaller#registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I,O>,androidx.activity.result.ActivityResultCallback<O>)(
https://developer.android.com/reference/androidx/activity/result/contract/ActivityResultContract<I, O> contract,
https://developer.android.com/reference/androidx/activity/result/ActivityResultCallback<O> callback
)`

Register a request to `https://developer.android.com/reference/android/app/Activity.html#startActivityForResult(android.content.Intent, int)`, designated by the given `https://developer.android.com/reference/androidx/activity/result/contract/ActivityResultContract`.
From [androidx.leanback.app.BaseSupportFragment](https://developer.android.com/reference/androidx/leanback/app/BaseSupportFragment) `final https://developer.android.com/reference/androidx/leanback/app/ProgressBarManager` `https://developer.android.com/reference/androidx/leanback/app/BaseSupportFragment#getProgressBarManager()()`

Returns the `https://developer.android.com/reference/androidx/leanback/app/ProgressBarManager`.
`void` `https://developer.android.com/reference/androidx/leanback/app/BaseSupportFragment#onViewCreated(android.view.View,android.os.Bundle)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/view/View.html view, @https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/os/Bundle.html savedInstanceState)`

Called immediately after `https://developer.android.com/reference/androidx/fragment/app/Fragment#onCreateView(android.view.LayoutInflater,android.view.ViewGroup,android.os.Bundle)` has returned, but before any saved state has been restored in to the view.
`void` `https://developer.android.com/reference/androidx/leanback/app/BaseSupportFragment#prepareEntranceTransition()()`

Enables entrance transition.
`void` `https://developer.android.com/reference/androidx/leanback/app/BaseSupportFragment#startEntranceTransition()()`

When fragment finishes loading data, it should call startEntranceTransition() to execute the entrance transition. startEntranceTransition() will start transition only if both two conditions are satisfied:
From [androidx.leanback.app.BrandedSupportFragment](https://developer.android.com/reference/androidx/leanback/app/BrandedSupportFragment) `@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/app/BrandedSupportFragment#getBadgeDrawable()()`

Returns the badge drawable used in the fragment title.
`int` `https://developer.android.com/reference/androidx/leanback/app/BrandedSupportFragment#getSearchAffordanceColor()()`

Returns the color used to draw the search affordance.
`@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/androidx/leanback/widget/SearchOrbView.Colors` `https://developer.android.com/reference/androidx/leanback/app/BrandedSupportFragment#getSearchAffordanceColors()()`

Returns the `https://developer.android.com/reference/androidx/leanback/widget/SearchOrbView.Colors` used to draw the search affordance.
`@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/java/lang/CharSequence.html` `https://developer.android.com/reference/androidx/leanback/app/BrandedSupportFragment#getTitle()()`

Returns the title text for the fragment.
`@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/view/View.html` `https://developer.android.com/reference/androidx/leanback/app/BrandedSupportFragment#getTitleView()()`

Returns the view that implements `https://developer.android.com/reference/androidx/leanback/widget/TitleViewAdapter.Provider`.
`@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/androidx/leanback/widget/TitleViewAdapter` `https://developer.android.com/reference/androidx/leanback/app/BrandedSupportFragment#getTitleViewAdapter()()`

Returns the `https://developer.android.com/reference/androidx/leanback/widget/TitleViewAdapter` implemented by title view.
`void` `https://developer.android.com/reference/androidx/leanback/app/BrandedSupportFragment#installTitleView(android.view.LayoutInflater,android.view.ViewGroup,android.os.Bundle)(
@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/view/LayoutInflater.html inflater,
@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/view/ViewGroup.html parent,
@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/os/Bundle.html savedInstanceState
)`

Inflate title view and add to parent.
`final boolean` `https://developer.android.com/reference/androidx/leanback/app/BrandedSupportFragment#isShowingTitle()()`

Returns true/false to indicate the visibility of TitleView.
`@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/view/View.html` `https://developer.android.com/reference/androidx/leanback/app/BrandedSupportFragment#onInflateTitleView(android.view.LayoutInflater,android.view.ViewGroup,android.os.Bundle)(
@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/view/LayoutInflater.html inflater,
@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/view/ViewGroup.html parent,
@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/os/Bundle.html savedInstanceState
)`

Called by `https://developer.android.com/reference/androidx/leanback/app/BrandedSupportFragment#installTitleView(android.view.LayoutInflater,android.view.ViewGroup,android.os.Bundle)` to inflate title view.
`void` `https://developer.android.com/reference/androidx/leanback/app/BrandedSupportFragment#onPause()()`

Called when the Fragment is no longer resumed.
`void` `https://developer.android.com/reference/androidx/leanback/app/BrandedSupportFragment#onResume()()`

Called when the fragment is visible to the user and actively running.
`void` `https://developer.android.com/reference/androidx/leanback/app/BrandedSupportFragment#setBadgeDrawable(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 the drawable displayed in the fragment title.
`void` `https://developer.android.com/reference/androidx/leanback/app/BrandedSupportFragment#setOnSearchClickedListener(android.view.View.OnClickListener)(@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/view/View.OnClickListener.html listener)`

Sets a click listener for the search affordance.
`void` `https://developer.android.com/reference/androidx/leanback/app/BrandedSupportFragment#setSearchAffordanceColor(int)(int color)`

Sets the color used to draw the search affordance.
`void` `https://developer.android.com/reference/androidx/leanback/app/BrandedSupportFragment#setSearchAffordanceColors(androidx.leanback.widget.SearchOrbView.Colors)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/widget/SearchOrbView.Colors colors)`

Sets the `https://developer.android.com/reference/androidx/leanback/widget/SearchOrbView.Colors` used to draw the search affordance.
`void` `https://developer.android.com/reference/androidx/leanback/app/BrandedSupportFragment#setTitle(java.lang.CharSequence)(@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/java/lang/CharSequence.html title)`

Sets title text for the fragment.
`void` `https://developer.android.com/reference/androidx/leanback/app/BrandedSupportFragment#setTitleView(android.view.View)(@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/view/View.html titleView)`

Sets the view that implemented `https://developer.android.com/reference/androidx/leanback/widget/TitleViewAdapter`.
`void` `https://developer.android.com/reference/androidx/leanback/app/BrandedSupportFragment#showTitle(int)(int flags)`

Changes title view's components visibility and shows title.
`void` `https://developer.android.com/reference/androidx/leanback/app/BrandedSupportFragment#showTitle(boolean)(boolean show)`

Shows or hides the title view.
From [android.content.ComponentCallbacks](https://developer.android.com/reference/android/content/ComponentCallbacks.html) `abstract void` `https://developer.android.com/reference/android/content/ComponentCallbacks.html#onConfigurationChanged(android.content.res.Configuration)(https://developer.android.com/reference/android/content/res/Configuration.html p)` `abstract void` `https://developer.android.com/reference/android/content/ComponentCallbacks.html#onLowMemory()()`

**This method is deprecated.**
From [androidx.activity.contextaware.ContextAware](https://developer.android.com/reference/androidx/activity/contextaware/ContextAware) `abstract void` `https://developer.android.com/reference/androidx/activity/contextaware/ContextAware#addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener)(https://developer.android.com/reference/androidx/activity/contextaware/OnContextAvailableListener listener)`

Add a new `https://developer.android.com/reference/androidx/activity/contextaware/OnContextAvailableListener` for receiving a callback for when this class is associated with a `https://developer.android.com/reference/android/content/Context.html`.
`abstract https://developer.android.com/reference/android/content/Context.html` `https://developer.android.com/reference/androidx/activity/contextaware/ContextAware#peekAvailableContext()()`

Get the `https://developer.android.com/reference/android/content/Context.html` if it is currently available.
`abstract void` `https://developer.android.com/reference/androidx/activity/contextaware/ContextAware#removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener)(https://developer.android.com/reference/androidx/activity/contextaware/OnContextAvailableListener listener)`

Remove a `https://developer.android.com/reference/androidx/activity/contextaware/OnContextAvailableListener` previously added via `https://developer.android.com/reference/androidx/activity/contextaware/ContextAware#addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener)`.
From [androidx.fragment.app.Fragment](https://developer.android.com/reference/androidx/fragment/app/Fragment) `void` `https://developer.android.com/reference/androidx/fragment/app/Fragment#addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener)(
@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/activity/contextaware/OnContextAvailableListener listener
)`

Add a new `https://developer.android.com/reference/androidx/activity/contextaware/OnContextAvailableListener` for receiving a callback for when this class is associated with a `https://developer.android.com/reference/android/content/Context.html`.
`void` `https://developer.android.com/reference/androidx/fragment/app/Fragment#dump(java.lang.String,java.io.FileDescriptor,java.io.PrintWriter,java.lang.String[])(
@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/String.html prefix,
@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/java/io/FileDescriptor.html fd,
@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/io/PrintWriter.html writer,
@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html String[] args
)`

Print the Fragments's state into the given stream.
`final boolean` `https://developer.android.com/reference/androidx/fragment/app/Fragment#equals(java.lang.Object)(@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/java/lang/Object.html o)`

Subclasses can not override equals().
`final @https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/androidx/fragment/app/FragmentActivity` `https://developer.android.com/reference/androidx/fragment/app/Fragment#getActivity()()`

Return the `https://developer.android.com/reference/androidx/fragment/app/FragmentActivity` this fragment is currently associated with.
`boolean` `https://developer.android.com/reference/androidx/fragment/app/Fragment#getAllowEnterTransitionOverlap()()`

Returns whether the the exit transition and enter transition overlap or not.
`boolean` `https://developer.android.com/reference/androidx/fragment/app/Fragment#getAllowReturnTransitionOverlap()()`

Returns whether the the return transition and reenter transition overlap or not.
`final @https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/os/Bundle.html` `https://developer.android.com/reference/androidx/fragment/app/Fragment#getArguments()()`

Return the arguments supplied when the fragment was instantiated, if any.
`final @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/fragment/app/FragmentManager` `https://developer.android.com/reference/androidx/fragment/app/Fragment#getChildFragmentManager()()`

Return a private FragmentManager for placing and managing Fragments inside of this Fragment.
`@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/content/Context.html` `https://developer.android.com/reference/androidx/fragment/app/Fragment#getContext()()`

Return the `https://developer.android.com/reference/android/content/Context.html` this fragment is currently associated with.
`@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/lifecycle/viewmodel/CreationExtras` `@https://developer.android.com/reference/androidx/annotation/CallSuper
https://developer.android.com/reference/androidx/fragment/app/Fragment#getDefaultViewModelCreationExtras()()`

The default `https://developer.android.com/reference/androidx/lifecycle/viewmodel/CreationExtras` to pass into `https://developer.android.com/reference/androidx/lifecycle/ViewModelProvider.Factory#create(kotlin.reflect.KClass,androidx.lifecycle.viewmodel.CreationExtras)` when no overriding `https://developer.android.com/reference/androidx/lifecycle/viewmodel/CreationExtras` are provided.
`@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/lifecycle/ViewModelProvider.Factory` `https://developer.android.com/reference/androidx/fragment/app/Fragment#getDefaultViewModelProviderFactory()()`

The default `https://developer.android.com/reference/androidx/lifecycle/ViewModelProvider.Factory` to use when no custom `https://developer.android.com/reference/androidx/lifecycle/ViewModelProvider.Factory` is provided to the `https://developer.android.com/reference/androidx/lifecycle/ViewModelProvider`.
`@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/java/lang/Object.html` `https://developer.android.com/reference/androidx/fragment/app/Fragment#getEnterTransition()()`

Returns the Transition that will be used to move Views into the initial scene.
`@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/java/lang/Object.html` `https://developer.android.com/reference/androidx/fragment/app/Fragment#getExitTransition()()`

Returns the Transition that will be used to move Views out of the scene when the fragment is removed, hidden, or detached when not popping the back stack.
`final @https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/androidx/fragment/app/FragmentManager` `[getFragmentManager](https://developer.android.com/reference/androidx/fragment/app/Fragment#getFragmentManager())()`

**This method is deprecated.**

This has been removed in favor of `getParentFragmentManager()` which throws an `https://developer.android.com/reference/java/lang/IllegalStateException.html` if the FragmentManager is null.

<br />

`final @https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/java/lang/Object.html` `https://developer.android.com/reference/androidx/fragment/app/Fragment#getHost()()`

Return the host object of this fragment.
`final int` `https://developer.android.com/reference/androidx/fragment/app/Fragment#getId()()`

Return the identifier this fragment is known by.
`final @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/view/LayoutInflater.html` `https://developer.android.com/reference/androidx/fragment/app/Fragment#getLayoutInflater()()`

Returns the cached LayoutInflater used to inflate Views of this Fragment.
`@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/lifecycle/Lifecycle` `https://developer.android.com/reference/androidx/fragment/app/Fragment#getLifecycle()()`

The `https://developer.android.com/reference/androidx/lifecycle/Lifecycle` of this owner.
`@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/loader/app/LoaderManager` `[getLoaderManager](https://developer.android.com/reference/androidx/fragment/app/Fragment#getLoaderManager())()`

**This method is deprecated.**

Use `https://developer.android.com/reference/androidx/loader/app/LoaderManager#getInstance(T)`.

<br />

`final @https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/androidx/fragment/app/Fragment` `https://developer.android.com/reference/androidx/fragment/app/Fragment#getParentFragment()()`

Returns the parent Fragment containing this Fragment.
`final @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/fragment/app/FragmentManager` `https://developer.android.com/reference/androidx/fragment/app/Fragment#getParentFragmentManager()()`

Return the FragmentManager for interacting with fragments associated with this fragment's activity.
`@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/java/lang/Object.html` `https://developer.android.com/reference/androidx/fragment/app/Fragment#getReenterTransition()()`

Returns the Transition that will be used to move Views in to the scene when returning due to popping a back stack.
`final @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/content/res/Resources.html` `https://developer.android.com/reference/androidx/fragment/app/Fragment#getResources()()`

Return `requireActivity().getResources()`.
`final boolean` `[getRetainInstance](https://developer.android.com/reference/androidx/fragment/app/Fragment#getRetainInstance())()`

**This method is deprecated.**

Instead of retaining the Fragment itself, use a non-retained Fragment and keep retained state in a ViewModel attached to that Fragment.

<br />

`@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/java/lang/Object.html` `https://developer.android.com/reference/androidx/fragment/app/Fragment#getReturnTransition()()`

Returns the Transition that will be used to move Views out of the scene when the Fragment is preparing to be removed, hidden, or detached because of popping the back stack.
`final @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/savedstate/SavedStateRegistry` `https://developer.android.com/reference/androidx/fragment/app/Fragment#getSavedStateRegistry()()`

The `https://developer.android.com/reference/androidx/savedstate/SavedStateRegistry` owned by this `https://developer.android.com/reference/androidx/savedstate/SavedStateRegistryOwner`.
`@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/java/lang/Object.html` `https://developer.android.com/reference/androidx/fragment/app/Fragment#getSharedElementEnterTransition()()`

Returns the Transition that will be used for shared elements transferred into the content Scene.
`@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/java/lang/Object.html` `https://developer.android.com/reference/androidx/fragment/app/Fragment#getSharedElementReturnTransition()()`

Return the Transition that will be used for shared elements transferred back during a pop of the back stack.
`final @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/String.html` `https://developer.android.com/reference/androidx/fragment/app/Fragment#getString(int)(@https://developer.android.com/reference/androidx/annotation/StringRes int resId)`

Return a localized string from the application's package's default string table.
`final @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/String.html` `https://developer.android.com/reference/androidx/fragment/app/Fragment#getString(int,java.lang.Object...)(@https://developer.android.com/reference/androidx/annotation/StringRes int resId, @https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html Object[] formatArgs)`

Return a localized formatted string from the application's package's default string table, substituting the format arguments as defined in `https://developer.android.com/reference/java/util/Formatter.html` and `https://developer.android.com/reference/java/lang/String.html#format(java.lang.String, java.lang.Object...)`.
`final @https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/java/lang/String.html` `https://developer.android.com/reference/androidx/fragment/app/Fragment#getTag()()`

Get the tag name of the fragment, if specified.
`final @https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/androidx/fragment/app/Fragment` `[getTargetFragment](https://developer.android.com/reference/androidx/fragment/app/Fragment#getTargetFragment())()`

**This method is deprecated.**

Instead of using a target fragment to pass results, use `https://developer.android.com/reference/androidx/fragment/app/FragmentManager#setFragmentResult(java.lang.String,android.os.Bundle)` to deliver results to `https://developer.android.com/reference/androidx/fragment/app/FragmentResultListener` instances registered by other fragments via `https://developer.android.com/reference/androidx/fragment/app/FragmentManager#setFragmentResultListener(java.lang.String,androidx.lifecycle.LifecycleOwner,androidx.fragment.app.FragmentResultListener)`.

<br />

`final int` `[getTargetRequestCode](https://developer.android.com/reference/androidx/fragment/app/Fragment#getTargetRequestCode())()`

**This method is deprecated.**

When using the target fragment replacement of `https://developer.android.com/reference/androidx/fragment/app/FragmentManager#setFragmentResultListener(java.lang.String,androidx.lifecycle.LifecycleOwner,androidx.fragment.app.FragmentResultListener)` and `https://developer.android.com/reference/androidx/fragment/app/FragmentManager#setFragmentResult(java.lang.String,android.os.Bundle)`, consider using `https://developer.android.com/reference/androidx/fragment/app/Fragment#setArguments(android.os.Bundle)` to pass a `requestKey` if you need to support dynamic request keys.

<br />

`final @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/CharSequence.html` `https://developer.android.com/reference/androidx/fragment/app/Fragment#getText(int)(@https://developer.android.com/reference/androidx/annotation/StringRes int resId)`

Return a localized, styled CharSequence from the application's package's default string table.
`boolean` `[getUserVisibleHint](https://developer.android.com/reference/androidx/fragment/app/Fragment#getUserVisibleHint())()`

**This method is deprecated.**

Use `https://developer.android.com/reference/androidx/fragment/app/FragmentTransaction#setMaxLifecycle(androidx.fragment.app.Fragment,androidx.lifecycle.Lifecycle.State)` instead.

<br />

`@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/view/View.html` `https://developer.android.com/reference/androidx/fragment/app/Fragment#getView()()`

Get the root view for the fragment's layout (the one returned by `https://developer.android.com/reference/androidx/fragment/app/Fragment#onCreateView(android.view.LayoutInflater,android.view.ViewGroup,android.os.Bundle)`), if provided.
`@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/lifecycle/LifecycleOwner` `@https://developer.android.com/reference/androidx/annotation/MainThread
https://developer.android.com/reference/androidx/fragment/app/Fragment#getViewLifecycleOwner()()`

Get a `https://developer.android.com/reference/androidx/lifecycle/LifecycleOwner` that represents the `https://developer.android.com/reference/androidx/fragment/app/Fragment#getView()` lifecycle.
`@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/lifecycle/LiveData<https://developer.android.com/reference/androidx/lifecycle/LifecycleOwner>` `https://developer.android.com/reference/androidx/fragment/app/Fragment#getViewLifecycleOwnerLiveData()()`

Retrieve a `https://developer.android.com/reference/androidx/lifecycle/LiveData` which allows you to observe the `https://developer.android.com/reference/androidx/fragment/app/Fragment#getViewLifecycleOwner()`.
`@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/lifecycle/ViewModelStore` `https://developer.android.com/reference/androidx/fragment/app/Fragment#getViewModelStore()()`

Returns the `https://developer.android.com/reference/androidx/lifecycle/ViewModelStore` associated with this Fragment
`final int` `https://developer.android.com/reference/androidx/fragment/app/Fragment#hashCode()()`

Subclasses can not override hashCode().
`static @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/fragment/app/Fragment` `[instantiate](https://developer.android.com/reference/androidx/fragment/app/Fragment#instantiate(android.content.Context,java.lang.String))(@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/java/lang/String.html fname)`

**This method is deprecated.**

Use `https://developer.android.com/reference/androidx/fragment/app/FragmentManager#getFragmentFactory()` and `https://developer.android.com/reference/androidx/fragment/app/FragmentFactory#instantiate(java.lang.ClassLoader,java.lang.String)`

<br />

`static @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/fragment/app/Fragment` `[instantiate](https://developer.android.com/reference/androidx/fragment/app/Fragment#instantiate(android.content.Context,java.lang.String,android.os.Bundle))(
@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/java/lang/String.html fname,
@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/os/Bundle.html args
)`

**This method is deprecated.**

Use `https://developer.android.com/reference/androidx/fragment/app/FragmentManager#getFragmentFactory()` and `https://developer.android.com/reference/androidx/fragment/app/FragmentFactory#instantiate(java.lang.ClassLoader,java.lang.String)`, manually calling `https://developer.android.com/reference/androidx/fragment/app/Fragment#setArguments(android.os.Bundle)` on the returned Fragment.

<br />

`final boolean` `https://developer.android.com/reference/androidx/fragment/app/Fragment#isAdded()()`

Return true if the fragment is currently added to its activity.
`final boolean` `https://developer.android.com/reference/androidx/fragment/app/Fragment#isDetached()()`

Return true if the fragment has been explicitly detached from the UI.
`final boolean` `https://developer.android.com/reference/androidx/fragment/app/Fragment#isHidden()()`

Return true if the fragment has been hidden.
`final boolean` `https://developer.android.com/reference/androidx/fragment/app/Fragment#isInLayout()()`

Return true if the layout is included as part of an activity view hierarchy via the tag.
`final boolean` `https://developer.android.com/reference/androidx/fragment/app/Fragment#isRemoving()()`

Return true if this fragment is currently being removed from its activity.
`final boolean` `https://developer.android.com/reference/androidx/fragment/app/Fragment#isResumed()()`

Return true if the fragment is in the resumed state.
`final boolean` `https://developer.android.com/reference/androidx/fragment/app/Fragment#isStateSaved()()`

Returns true if this fragment is added and its state has already been saved by its host.
`final boolean` `https://developer.android.com/reference/androidx/fragment/app/Fragment#isVisible()()`

Return true if the fragment is currently visible to the user.
`void` `@https://developer.android.com/reference/androidx/annotation/MainThread
@https://developer.android.com/reference/androidx/annotation/CallSuper
[onActivityCreated](https://developer.android.com/reference/androidx/fragment/app/Fragment#onActivityCreated(android.os.Bundle))(@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/os/Bundle.html savedInstanceState)`

**This method is deprecated.**

use `https://developer.android.com/reference/androidx/fragment/app/Fragment#onViewCreated(android.view.View,android.os.Bundle)` for code touching the view created by `https://developer.android.com/reference/androidx/fragment/app/Fragment#onCreateView(android.view.LayoutInflater,android.view.ViewGroup,android.os.Bundle)` and `https://developer.android.com/reference/androidx/fragment/app/Fragment#onCreate(android.os.Bundle)` for other initialization.

<br />

`void` `[onActivityResult](https://developer.android.com/reference/androidx/fragment/app/Fragment#onActivityResult(int,int,android.content.Intent))(int requestCode, int resultCode, @https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/content/Intent.html data)`

**This method is deprecated.**

This method has been deprecated in favor of using the Activity Result API which brings increased type safety via an `https://developer.android.com/reference/androidx/activity/result/contract/ActivityResultContract` and the prebuilt contracts for common intents available in `https://developer.android.com/reference/androidx/activity/result/contract/ActivityResultContracts`, provides hooks for testing, and allow receiving results in separate, testable classes independent from your fragment.

<br />

`void` `@https://developer.android.com/reference/androidx/annotation/MainThread
@https://developer.android.com/reference/androidx/annotation/CallSuper
[onAttach](https://developer.android.com/reference/androidx/fragment/app/Fragment#onAttach(android.app.Activity))(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/app/Activity.html activity)`

**This method is deprecated.**

See `https://developer.android.com/reference/androidx/fragment/app/Fragment#onAttach(android.content.Context)`.

<br />

`void` `@https://developer.android.com/reference/androidx/annotation/MainThread
@https://developer.android.com/reference/androidx/annotation/CallSuper
https://developer.android.com/reference/androidx/fragment/app/Fragment#onAttach(android.content.Context)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/content/Context.html context)`

Called when a fragment is first attached to its context.
`void` `@https://developer.android.com/reference/androidx/annotation/MainThread
[onAttachFragment](https://developer.android.com/reference/androidx/fragment/app/Fragment#onAttachFragment(androidx.fragment.app.Fragment))(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/fragment/app/Fragment childFragment)`

**This method is deprecated.**

The responsibility for listening for fragments being attached has been moved to FragmentManager.

<br />

`void` `@https://developer.android.com/reference/androidx/annotation/CallSuper
https://developer.android.com/reference/androidx/fragment/app/Fragment#onConfigurationChanged(android.content.res.Configuration)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/content/res/Configuration.html newConfig)` `boolean` `@https://developer.android.com/reference/androidx/annotation/MainThread
https://developer.android.com/reference/androidx/fragment/app/Fragment#onContextItemSelected(android.view.MenuItem)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/view/MenuItem.html item)`

This hook is called whenever an item in a context menu is selected.
`void` `@https://developer.android.com/reference/androidx/annotation/MainThread
@https://developer.android.com/reference/androidx/annotation/CallSuper
https://developer.android.com/reference/androidx/fragment/app/Fragment#onCreate(android.os.Bundle)(@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/os/Bundle.html savedInstanceState)`

Called to do initial creation of a fragment.
`@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/view/animation/Animation.html` `@https://developer.android.com/reference/androidx/annotation/MainThread
https://developer.android.com/reference/androidx/fragment/app/Fragment#onCreateAnimation(int,boolean,int)(int transit, boolean enter, int nextAnim)`

Called when a fragment loads an animation.
`@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/animation/Animator.html` `@https://developer.android.com/reference/androidx/annotation/MainThread
https://developer.android.com/reference/androidx/fragment/app/Fragment#onCreateAnimator(int,boolean,int)(int transit, boolean enter, int nextAnim)`

Called when a fragment loads an animator.
`void` `@https://developer.android.com/reference/androidx/annotation/MainThread
https://developer.android.com/reference/androidx/fragment/app/Fragment#onCreateContextMenu(android.view.ContextMenu,android.view.View,android.view.ContextMenu.ContextMenuInfo)(
@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/view/ContextMenu.html menu,
@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/view/View.html v,
@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/view/ContextMenu.ContextMenuInfo.html menuInfo
)`

Called when a context menu for the `view` is about to be shown.
`void` `@https://developer.android.com/reference/androidx/annotation/MainThread
[onCreateOptionsMenu](https://developer.android.com/reference/androidx/fragment/app/Fragment#onCreateOptionsMenu(android.view.Menu,android.view.MenuInflater))(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/view/Menu.html menu, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/view/MenuInflater.html inflater)`

**This method is deprecated.**

`https://developer.android.com/reference/androidx/activity/ComponentActivity` now implements `https://developer.android.com/reference/androidx/core/view/MenuHost`, an interface that allows any component, including your activity itself, to add menu items by calling `https://developer.android.com/reference/androidx/activity/ComponentActivity#addMenuProvider(androidx.core.view.MenuProvider)` without forcing all components through this single method override.

<br />

`void` `@https://developer.android.com/reference/androidx/annotation/MainThread
[onDestroyOptionsMenu](https://developer.android.com/reference/androidx/fragment/app/Fragment#onDestroyOptionsMenu())()`

**This method is deprecated.**

`https://developer.android.com/reference/androidx/activity/ComponentActivity` now implements `https://developer.android.com/reference/androidx/core/view/MenuHost`, an interface that allows any component, including your activity itself, to add menu items by calling `https://developer.android.com/reference/androidx/core/view/MenuHost#addMenuProvider(androidx.core.view.MenuProvider)` without forcing all components through this single method override.

<br />

`void` `@https://developer.android.com/reference/androidx/annotation/MainThread
@https://developer.android.com/reference/androidx/annotation/CallSuper
https://developer.android.com/reference/androidx/fragment/app/Fragment#onDetach()()`

Called when the fragment is no longer attached to its activity.
`@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/view/LayoutInflater.html` `https://developer.android.com/reference/androidx/fragment/app/Fragment#onGetLayoutInflater(android.os.Bundle)(@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/os/Bundle.html savedInstanceState)`

Returns the LayoutInflater used to inflate Views of this Fragment.
`void` `@https://developer.android.com/reference/androidx/annotation/MainThread
https://developer.android.com/reference/androidx/fragment/app/Fragment#onHiddenChanged(boolean)(boolean hidden)`

Called when the hidden state (as returned by `https://developer.android.com/reference/androidx/fragment/app/Fragment#isHidden()` of the fragment or another fragment in its hierarchy has changed.
`void` `@https://developer.android.com/reference/androidx/annotation/UiThread
@https://developer.android.com/reference/androidx/annotation/CallSuper
[onInflate](https://developer.android.com/reference/androidx/fragment/app/Fragment#onInflate(android.app.Activity,android.util.AttributeSet,android.os.Bundle))(
@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/app/Activity.html activity,
@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/util/AttributeSet.html attrs,
@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/os/Bundle.html savedInstanceState
)`

**This method is deprecated.**

See `https://developer.android.com/reference/androidx/fragment/app/Fragment#onInflate(android.content.Context,android.util.AttributeSet,android.os.Bundle)`.

<br />

`void` `@https://developer.android.com/reference/androidx/annotation/UiThread
@https://developer.android.com/reference/androidx/annotation/CallSuper
https://developer.android.com/reference/androidx/fragment/app/Fragment#onInflate(android.content.Context,android.util.AttributeSet,android.os.Bundle)(
@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/util/AttributeSet.html attrs,
@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/os/Bundle.html savedInstanceState
)`

Called when a fragment is being created as part of a view layout inflation, typically from setting the content view of an activity.
`void` `@https://developer.android.com/reference/androidx/annotation/MainThread
@https://developer.android.com/reference/androidx/annotation/CallSuper
https://developer.android.com/reference/androidx/fragment/app/Fragment#onLowMemory()()`

**This method is deprecated.**
`void` `https://developer.android.com/reference/androidx/fragment/app/Fragment#onMultiWindowModeChanged(boolean)(boolean isInMultiWindowMode)`

Called when the Fragment's activity changes from fullscreen mode to multi-window mode and visa-versa.
`boolean` `@https://developer.android.com/reference/androidx/annotation/MainThread
[onOptionsItemSelected](https://developer.android.com/reference/androidx/fragment/app/Fragment#onOptionsItemSelected(android.view.MenuItem))(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/view/MenuItem.html item)`

**This method is deprecated.**

`https://developer.android.com/reference/androidx/activity/ComponentActivity` now implements `https://developer.android.com/reference/androidx/core/view/MenuHost`, an interface that allows any component, including your activity itself, to add menu items by calling `https://developer.android.com/reference/androidx/core/view/MenuHost#addMenuProvider(androidx.core.view.MenuProvider)` without forcing all components through this single method override.

<br />

`void` `@https://developer.android.com/reference/androidx/annotation/MainThread
[onOptionsMenuClosed](https://developer.android.com/reference/androidx/fragment/app/Fragment#onOptionsMenuClosed(android.view.Menu))(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/view/Menu.html menu)`

**This method is deprecated.**

`https://developer.android.com/reference/androidx/activity/ComponentActivity` now implements `https://developer.android.com/reference/androidx/core/view/MenuHost`, an interface that allows any component, including your activity itself, to add menu items by calling `https://developer.android.com/reference/androidx/core/view/MenuHost#addMenuProvider(androidx.core.view.MenuProvider)` without forcing all components through this single method override.

<br />

`void` `https://developer.android.com/reference/androidx/fragment/app/Fragment#onPictureInPictureModeChanged(boolean)(boolean isInPictureInPictureMode)`

Called by the system when the activity changes to and from picture-in-picture mode.
`void` `@https://developer.android.com/reference/androidx/annotation/MainThread
[onPrepareOptionsMenu](https://developer.android.com/reference/androidx/fragment/app/Fragment#onPrepareOptionsMenu(android.view.Menu))(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/view/Menu.html menu)`

**This method is deprecated.**

`https://developer.android.com/reference/androidx/activity/ComponentActivity` now implements `https://developer.android.com/reference/androidx/core/view/MenuHost`, an interface that allows any component, including your activity itself, to add menu items by calling `https://developer.android.com/reference/androidx/core/view/MenuHost#addMenuProvider(androidx.core.view.MenuProvider)` without forcing all components through this single method override.

<br />

`void` `@https://developer.android.com/reference/androidx/annotation/MainThread
https://developer.android.com/reference/androidx/fragment/app/Fragment#onPrimaryNavigationFragmentChanged(boolean)(
boolean isPrimaryNavigationFragment
)`

Callback for when the primary navigation state of this Fragment has changed.
`void` `[onRequestPermissionsResult](https://developer.android.com/reference/androidx/fragment/app/Fragment#onRequestPermissionsResult(int,java.lang.String[],int[]))(
int requestCode,
@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html String[] permissions,
@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html int[] grantResults
)`

**This method is deprecated.**

This method has been deprecated in favor of using the Activity Result API which brings increased type safety via an `https://developer.android.com/reference/androidx/activity/result/contract/ActivityResultContract` and the prebuilt contracts for common intents available in `https://developer.android.com/reference/androidx/activity/result/contract/ActivityResultContracts`, provides hooks for testing, and allow receiving results in separate, testable classes independent from your fragment.

<br />

`void` `@https://developer.android.com/reference/androidx/annotation/MainThread
@https://developer.android.com/reference/androidx/annotation/CallSuper
https://developer.android.com/reference/androidx/fragment/app/Fragment#onViewStateRestored(android.os.Bundle)(@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/os/Bundle.html savedInstanceState)`

Called when all saved state has been restored into the view hierarchy of the fragment.
`@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/content/Context.html` `https://developer.android.com/reference/androidx/fragment/app/Fragment#peekAvailableContext()()`

Get the `https://developer.android.com/reference/android/content/Context.html` if it is currently available.
`void` `https://developer.android.com/reference/androidx/fragment/app/Fragment#postponeEnterTransition()()`

Postpone the entering Fragment transition until `https://developer.android.com/reference/androidx/fragment/app/Fragment#startPostponedEnterTransition()` or `https://developer.android.com/reference/androidx/fragment/app/FragmentManager#executePendingTransactions()` has been called.
`final void` `https://developer.android.com/reference/androidx/fragment/app/Fragment#postponeEnterTransition(long,java.util.concurrent.TimeUnit)(long duration, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/util/concurrent/TimeUnit.html timeUnit)`

Postpone the entering Fragment transition for a given amount of time and then call `https://developer.android.com/reference/androidx/fragment/app/Fragment#startPostponedEnterTransition()`.
`final @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/activity/result/ActivityResultLauncher<I>` `@https://developer.android.com/reference/androidx/annotation/MainThread
<I, O> https://developer.android.com/reference/androidx/fragment/app/Fragment#registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I,O>,androidx.activity.result.ActivityResultCallback<O>)(
@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/activity/result/contract/ActivityResultContract<I, O> contract,
@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/activity/result/ActivityResultCallback<O> callback
)`


Register a request to `https://developer.android.com/reference/android/app/Activity.html#startActivityForResult(android.content.Intent, int)`, designated by the given `https://developer.android.com/reference/androidx/activity/result/contract/ActivityResultContract`.

<br />

`final @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/activity/result/ActivityResultLauncher<I>` `@https://developer.android.com/reference/androidx/annotation/MainThread
<I, O> https://developer.android.com/reference/androidx/fragment/app/Fragment#registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I,O>,androidx.activity.result.ActivityResultRegistry,androidx.activity.result.ActivityResultCallback<O>)(
@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/activity/result/contract/ActivityResultContract<I, O> contract,
@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/activity/result/ActivityResultRegistry registry,
@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/activity/result/ActivityResultCallback<O> callback
)`

Register a request to `https://developer.android.com/reference/android/app/Activity.html#startActivityForResult(android.content.Intent, int)`, designated by the given `https://developer.android.com/reference/androidx/activity/result/contract/ActivityResultContract`.
`void` `https://developer.android.com/reference/androidx/fragment/app/Fragment#registerForContextMenu(android.view.View)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/view/View.html view)`

Registers a context menu to be shown for the given view (multiple views can show the context menu).
`void` `https://developer.android.com/reference/androidx/fragment/app/Fragment#removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener)(
@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/activity/contextaware/OnContextAvailableListener listener
)`

Remove a `https://developer.android.com/reference/androidx/activity/contextaware/OnContextAvailableListener` previously added via `https://developer.android.com/reference/androidx/activity/contextaware/ContextAware#addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener)`.
`final void` `[requestPermissions](https://developer.android.com/reference/androidx/fragment/app/Fragment#requestPermissions(java.lang.String[],int))(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html String[] permissions, int requestCode)`

**This method is deprecated.**

This method has been deprecated in favor of using the Activity Result API which brings increased type safety via an `https://developer.android.com/reference/androidx/activity/result/contract/ActivityResultContract` and the prebuilt contracts for common intents available in `https://developer.android.com/reference/androidx/activity/result/contract/ActivityResultContracts`, provides hooks for testing, and allow receiving results in separate, testable classes independent from your fragment.

<br />

`final @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/fragment/app/FragmentActivity` `https://developer.android.com/reference/androidx/fragment/app/Fragment#requireActivity()()`

Return the `https://developer.android.com/reference/androidx/fragment/app/FragmentActivity` this fragment is currently associated with.
`final @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/os/Bundle.html` `https://developer.android.com/reference/androidx/fragment/app/Fragment#requireArguments()()`

Return the arguments supplied when the fragment was instantiated.
`final @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/content/Context.html` `https://developer.android.com/reference/androidx/fragment/app/Fragment#requireContext()()`

Return the `https://developer.android.com/reference/android/content/Context.html` this fragment is currently associated with.
`final @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/fragment/app/FragmentManager` `[requireFragmentManager](https://developer.android.com/reference/androidx/fragment/app/Fragment#requireFragmentManager())()`

**This method is deprecated.**

This has been renamed to `getParentFragmentManager()` to make it clear that you are accessing the FragmentManager that contains this Fragment and not the FragmentManager associated with child Fragments.

<br />

`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/fragment/app/Fragment#requireHost()()`

Return the host object of this fragment.
`final @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/fragment/app/Fragment` `https://developer.android.com/reference/androidx/fragment/app/Fragment#requireParentFragment()()`

Returns the parent Fragment containing this Fragment.
`final @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/view/View.html` `https://developer.android.com/reference/androidx/fragment/app/Fragment#requireView()()`

Get the root view for the fragment's layout (the one returned by `https://developer.android.com/reference/androidx/fragment/app/Fragment#onCreateView(android.view.LayoutInflater,android.view.ViewGroup,android.os.Bundle)`).
`void` `https://developer.android.com/reference/androidx/fragment/app/Fragment#setAllowEnterTransitionOverlap(boolean)(boolean allow)`

Sets whether the the exit transition and enter transition overlap or not.
`void` `https://developer.android.com/reference/androidx/fragment/app/Fragment#setAllowReturnTransitionOverlap(boolean)(boolean allow)`

Sets whether the the return transition and reenter transition overlap or not.
`void` `https://developer.android.com/reference/androidx/fragment/app/Fragment#setArguments(android.os.Bundle)(@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/os/Bundle.html args)`

Supply the construction arguments for this fragment.
`void` `https://developer.android.com/reference/androidx/fragment/app/Fragment#setEnterSharedElementCallback(androidx.core.app.SharedElementCallback)(@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/androidx/core/app/SharedElementCallback callback)`

When custom transitions are used with Fragments, the enter transition callback is called when this Fragment is attached or detached when not popping the back stack.
`void` `https://developer.android.com/reference/androidx/fragment/app/Fragment#setEnterTransition(java.lang.Object)(@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/java/lang/Object.html transition)`

Sets the Transition that will be used to move Views into the initial scene.
`void` `https://developer.android.com/reference/androidx/fragment/app/Fragment#setExitSharedElementCallback(androidx.core.app.SharedElementCallback)(@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/androidx/core/app/SharedElementCallback callback)`

When custom transitions are used with Fragments, the exit transition callback is called when this Fragment is attached or detached when popping the back stack.
`void` `https://developer.android.com/reference/androidx/fragment/app/Fragment#setExitTransition(java.lang.Object)(@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/java/lang/Object.html transition)`

Sets the Transition that will be used to move Views out of the scene when the fragment is removed, hidden, or detached when not popping the back stack.
`void` `[setHasOptionsMenu](https://developer.android.com/reference/androidx/fragment/app/Fragment#setHasOptionsMenu(boolean))(boolean hasMenu)`

**This method is deprecated.**

This method is no longer needed when using a `https://developer.android.com/reference/androidx/core/view/MenuProvider` to provide a `https://developer.android.com/reference/android/view/Menu.html` to your activity, which replaces `https://developer.android.com/reference/androidx/fragment/app/Fragment#onCreateOptionsMenu(android.view.Menu,android.view.MenuInflater)` as the recommended way to provide a consistent, optionally `https://developer.android.com/reference/androidx/lifecycle/Lifecycle`-aware, and modular way to handle menu creation and item selection.

<br />

`void` `https://developer.android.com/reference/androidx/fragment/app/Fragment#setInitialSavedState(androidx.fragment.app.Fragment.SavedState)(@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/androidx/fragment/app/Fragment.SavedState state)`

Set the initial saved state that this Fragment should restore itself from when first being constructed, as returned by `https://developer.android.com/reference/androidx/fragment/app/FragmentManager#saveFragmentInstanceState(androidx.fragment.app.Fragment)`.
`void` `https://developer.android.com/reference/androidx/fragment/app/Fragment#setMenuVisibility(boolean)(boolean menuVisible)`

Set a hint for whether this fragment's menu should be visible.
`void` `https://developer.android.com/reference/androidx/fragment/app/Fragment#setReenterTransition(java.lang.Object)(@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/java/lang/Object.html transition)`

Sets the Transition that will be used to move Views in to the scene when returning due to popping a back stack.
`void` `[setRetainInstance](https://developer.android.com/reference/androidx/fragment/app/Fragment#setRetainInstance(boolean))(boolean retain)`

**This method is deprecated.**

Instead of retaining the Fragment itself, use a non-retained Fragment and keep retained state in a ViewModel attached to that Fragment.

<br />

`void` `https://developer.android.com/reference/androidx/fragment/app/Fragment#setReturnTransition(java.lang.Object)(@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/java/lang/Object.html transition)`

Sets the Transition that will be used to move Views out of the scene when the Fragment is preparing to be removed, hidden, or detached because of popping the back stack.
`void` `https://developer.android.com/reference/androidx/fragment/app/Fragment#setSharedElementEnterTransition(java.lang.Object)(@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/java/lang/Object.html transition)`

Sets the Transition that will be used for shared elements transferred into the content Scene.
`void` `https://developer.android.com/reference/androidx/fragment/app/Fragment#setSharedElementReturnTransition(java.lang.Object)(@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/java/lang/Object.html transition)`

Sets the Transition that will be used for shared elements transferred back during a pop of the back stack.
`void` `[setTargetFragment](https://developer.android.com/reference/androidx/fragment/app/Fragment#setTargetFragment(androidx.fragment.app.Fragment,int))(@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/androidx/fragment/app/Fragment fragment, int requestCode)`

**This method is deprecated.**

Instead of using a target fragment to pass results, the fragment requesting a result should use `https://developer.android.com/reference/androidx/fragment/app/FragmentManager#setFragmentResultListener(java.lang.String,androidx.lifecycle.LifecycleOwner,androidx.fragment.app.FragmentResultListener)` to register a `https://developer.android.com/reference/androidx/fragment/app/FragmentResultListener` with a `
requestKey` using its `https://developer.android.com/reference/androidx/fragment/app/Fragment#getParentFragmentManager()`.

<br />

`void` `[setUserVisibleHint](https://developer.android.com/reference/androidx/fragment/app/Fragment#setUserVisibleHint(boolean))(boolean isVisibleToUser)`

**This method is deprecated.**

If you are manually calling this method, use `https://developer.android.com/reference/androidx/fragment/app/FragmentTransaction#setMaxLifecycle(androidx.fragment.app.Fragment,androidx.lifecycle.Lifecycle.State)` instead.

<br />

`boolean` `https://developer.android.com/reference/androidx/fragment/app/Fragment#shouldShowRequestPermissionRationale(java.lang.String)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/String.html permission)`

Gets whether you should show UI with rationale before requesting a permission.
`void` `https://developer.android.com/reference/androidx/fragment/app/Fragment#startActivity(android.content.Intent)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/content/Intent.html intent)`

Call `https://developer.android.com/reference/android/app/Activity.html#startActivity(android.content.Intent)` from the fragment's containing Activity.
`void` `https://developer.android.com/reference/androidx/fragment/app/Fragment#startActivity(android.content.Intent,android.os.Bundle)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/content/Intent.html intent, @https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/os/Bundle.html options)`

Call `https://developer.android.com/reference/android/app/Activity.html#startActivity(android.content.Intent, android.os.Bundle)` from the fragment's containing Activity.
`void` `[startActivityForResult](https://developer.android.com/reference/androidx/fragment/app/Fragment#startActivityForResult(android.content.Intent,int))(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/content/Intent.html intent, int requestCode)`

**This method is deprecated.**

This method has been deprecated in favor of using the Activity Result API which brings increased type safety via an `https://developer.android.com/reference/androidx/activity/result/contract/ActivityResultContract` and the prebuilt contracts for common intents available in `https://developer.android.com/reference/androidx/activity/result/contract/ActivityResultContracts`, provides hooks for testing, and allow receiving results in separate, testable classes independent from your fragment.

<br />

`void` `[startActivityForResult](https://developer.android.com/reference/androidx/fragment/app/Fragment#startActivityForResult(android.content.Intent,int,android.os.Bundle))(
@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/content/Intent.html intent,
int requestCode,
@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/os/Bundle.html options
)`

**This method is deprecated.**

This method has been deprecated in favor of using the Activity Result API which brings increased type safety via an `https://developer.android.com/reference/androidx/activity/result/contract/ActivityResultContract` and the prebuilt contracts for common intents available in `https://developer.android.com/reference/androidx/activity/result/contract/ActivityResultContracts`, provides hooks for testing, and allow receiving results in separate, testable classes independent from your fragment.

<br />

`void` `[startIntentSenderForResult](https://developer.android.com/reference/androidx/fragment/app/Fragment#startIntentSenderForResult(android.content.IntentSender,int,android.content.Intent,int,int,int,android.os.Bundle))(
@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/content/IntentSender.html intent,
int requestCode,
@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/content/Intent.html fillInIntent,
int flagsMask,
int flagsValues,
int extraFlags,
@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/os/Bundle.html options
)`

**This method is deprecated.**

This method has been deprecated in favor of using the Activity Result API which brings increased type safety via an `https://developer.android.com/reference/androidx/activity/result/contract/ActivityResultContract` and the prebuilt contracts for common intents available in `https://developer.android.com/reference/androidx/activity/result/contract/ActivityResultContracts`, provides hooks for testing, and allow receiving results in separate, testable classes independent from your fragment.

<br />

`void` `https://developer.android.com/reference/androidx/fragment/app/Fragment#startPostponedEnterTransition()()`

Begin postponed transitions after `https://developer.android.com/reference/androidx/fragment/app/Fragment#postponeEnterTransition()` was called.
`@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/String.html` `https://developer.android.com/reference/androidx/fragment/app/Fragment#toString()()` `void` `https://developer.android.com/reference/androidx/fragment/app/Fragment#unregisterForContextMenu(android.view.View)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/view/View.html view)`

Prevents a context menu to be shown for the given view.
From [androidx.lifecycle.HasDefaultViewModelProviderFactory](https://developer.android.com/reference/androidx/lifecycle/HasDefaultViewModelProviderFactory) `https://developer.android.com/reference/androidx/lifecycle/viewmodel/CreationExtras` `https://developer.android.com/reference/androidx/lifecycle/HasDefaultViewModelProviderFactory#getDefaultViewModelCreationExtras()()`

The default `https://developer.android.com/reference/androidx/lifecycle/viewmodel/CreationExtras` to pass into `https://developer.android.com/reference/androidx/lifecycle/ViewModelProvider.Factory#create(kotlin.reflect.KClass,androidx.lifecycle.viewmodel.CreationExtras)` when no overriding `https://developer.android.com/reference/androidx/lifecycle/viewmodel/CreationExtras` are provided.
`https://developer.android.com/reference/androidx/lifecycle/ViewModelProvider.Factory` `https://developer.android.com/reference/androidx/lifecycle/HasDefaultViewModelProviderFactory#getDefaultViewModelProviderFactory()()`

The default `https://developer.android.com/reference/androidx/lifecycle/ViewModelProvider.Factory` to use when no custom `https://developer.android.com/reference/androidx/lifecycle/ViewModelProvider.Factory` is provided to the `https://developer.android.com/reference/androidx/lifecycle/ViewModelProvider`.
From [androidx.lifecycle.LifecycleOwner](https://developer.android.com/reference/androidx/lifecycle/LifecycleOwner) `abstract https://developer.android.com/reference/androidx/lifecycle/Lifecycle` `https://developer.android.com/reference/androidx/lifecycle/LifecycleOwner#getLifecycle()()`

The `https://developer.android.com/reference/androidx/lifecycle/Lifecycle` of this owner.
From [androidx.savedstate.SavedStateRegistryOwner](https://developer.android.com/reference/androidx/savedstate/SavedStateRegistryOwner) `abstract https://developer.android.com/reference/androidx/savedstate/SavedStateRegistry` `https://developer.android.com/reference/androidx/savedstate/SavedStateRegistryOwner#getSavedStateRegistry()()`

The `https://developer.android.com/reference/androidx/savedstate/SavedStateRegistry` owned by this `https://developer.android.com/reference/androidx/savedstate/SavedStateRegistryOwner`.
From [android.view.View.OnCreateContextMenuListener](https://developer.android.com/reference/android/view/View.OnCreateContextMenuListener.html) `abstract void` `https://developer.android.com/reference/android/view/View.OnCreateContextMenuListener.html#onCreateContextMenu(android.view.ContextMenu, android.view.View, android.view.ContextMenu.ContextMenuInfo)(
https://developer.android.com/reference/android/view/ContextMenu.html p,
https://developer.android.com/reference/android/view/View.html p1,
https://developer.android.com/reference/android/view/ContextMenu.ContextMenuInfo.html p2
)` From [androidx.lifecycle.ViewModelStoreOwner](https://developer.android.com/reference/androidx/lifecycle/ViewModelStoreOwner) `abstract https://developer.android.com/reference/androidx/lifecycle/ViewModelStore` `https://developer.android.com/reference/androidx/lifecycle/ViewModelStoreOwner#getViewModelStore()()`

The owned `https://developer.android.com/reference/androidx/lifecycle/ViewModelStore`

## Constants

### HEADERS_DISABLED

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

```
public static final int HEADERS_DISABLED = 3
```

The headers fragment is disabled and will never be shown.

### HEADERS_ENABLED

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

```
public static final int HEADERS_ENABLED = 1
```

The headers fragment is enabled and shown by default.

### HEADERS_HIDDEN

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

```
public static final int HEADERS_HIDDEN = 2
```

The headers fragment is enabled and hidden by default.

## Public constructors

### BrowseSupportFragment

Added in 1.1.0

```
public BrowseSupportFragment()
```

## Public methods

### createArgs

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

```
public static Bundle createArgs(Bundle args, String title, int headersState)
```

Creates arguments for a browse fragment.

| Parameters |
|---|---|
| `https://developer.android.com/reference/android/os/Bundle.html args` | The Bundle to place arguments into, or null if the method should return a new Bundle. |
| `https://developer.android.com/reference/java/lang/String.html title` | The title of the BrowseSupportFragment. |
| `int headersState` | The initial state of the headers of the BrowseSupportFragment. Must be one of `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#HEADERS_ENABLED()`, `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#HEADERS_HIDDEN()`, or `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#HEADERS_DISABLED()`. |

| Returns |
|---|---|
| `https://developer.android.com/reference/android/os/Bundle.html` | A Bundle with the given arguments for creating a BrowseSupportFragment. |

### enableMainFragmentScaling

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

```
public void enableMainFragmentScaling(boolean enable)
```

Enables scaling of main fragment when headers are present. For the page/row fragment, scaling is enabled only when both this method and `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment.MainFragmentAdapter#isScalingEnabled()` are enabled.

| Parameters |
|---|---|
| `boolean enable` | true to enable row scaling |

### enableRowScaling

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 void [enableRowScaling](https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#enableRowScaling(boolean))(boolean enable)
```

> [!CAUTION]
> **This method is deprecated.**   
>
> use `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#enableMainFragmentScaling(boolean)` instead.

| Parameters |
|---|---|
| `boolean enable` | true to enable row scaling |

### getAdapter

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

```
public ObjectAdapter getAdapter()
```

Returns the adapter containing the rows for the fragment.

### getBrandColor

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

```
public @ColorInt int getBrandColor()
```

Returns the brand color for the browse fragment. The default is transparent.

### getHeadersState

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

```
public int getHeadersState()
```

Returns the state of the headers column in the browse fragment.

### getHeadersSupportFragment

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

```
public HeadersSupportFragment getHeadersSupportFragment()
```

Get currently bound HeadersSupportFragment or null if HeadersSupportFragment has not been created yet.

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/leanback/app/HeadersSupportFragment` | Currently bound HeadersSupportFragment or null if HeadersSupportFragment has not been created yet. |

### getMainFragment

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

```
public Fragment getMainFragment()
```

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/fragment/app/Fragment` | Current main fragment or null if not created. |

### getMainFragmentRegistry

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

```
public final BrowseSupportFragment.MainFragmentAdapterRegistry getMainFragmentRegistry()
```

### getOnItemViewClickedListener

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

```
public OnItemViewClickedListener getOnItemViewClickedListener()
```

Returns the item Clicked listener.

### getOnItemViewSelectedListener

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

```
public OnItemViewSelectedListener getOnItemViewSelectedListener()
```

Returns an item selection listener.

### getRowsSupportFragment

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

```
public RowsSupportFragment getRowsSupportFragment()
```

Get RowsSupportFragment if it's bound to BrowseSupportFragment or null if either BrowseSupportFragment has not been created yet or a different fragment is bound to it.

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/leanback/app/RowsSupportFragment` | RowsSupportFragment if it's bound to BrowseSupportFragment or null otherwise. |

### getSelectedPosition

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

```
public int getSelectedPosition()
```

Gets position of currently selected row.

| Returns |
|---|---|
| `int` | Position of currently selected row. |

### getSelectedRowViewHolder

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

```
public RowPresenter.ViewHolder getSelectedRowViewHolder()
```

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/leanback/widget/RowPresenter.ViewHolder` | selected row ViewHolder inside fragment created by `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment.MainFragmentRowsAdapter`. |

### isHeadersTransitionOnBackEnabled

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

```
public final boolean isHeadersTransitionOnBackEnabled()
```

Returns true if headers transition on back key support is enabled.

### isInHeadersTransition

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

```
public boolean isInHeadersTransition()
```

Returns true if the headers transition is currently running.

### isShowingHeaders

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

```
public boolean isShowingHeaders()
```

Returns true if headers are shown.

### onCreate

```
public void onCreate(Bundle savedInstanceState)
```

Called to do initial creation of a fragment. This is called after `https://developer.android.com/reference/androidx/fragment/app/Fragment#onAttach(android.app.Activity)` and before `https://developer.android.com/reference/androidx/fragment/app/Fragment#onCreateView(android.view.LayoutInflater,android.view.ViewGroup,android.os.Bundle)`.

Note that this can be called while the fragment's activity is still in the process of being created. As such, you can not rely on things like the activity's content view hierarchy being initialized at this point. If you want to do work once the activity itself is created, add a `https://developer.android.com/reference/androidx/lifecycle/LifecycleObserver` on the activity's Lifecycle, removing it when it receives the `https://developer.android.com/reference/androidx/lifecycle/Lifecycle.State#CREATED` callback.

Any restored child fragments will be created before the base `Fragment.onCreate` method returns.

| Parameters |
|---|---|
| `https://developer.android.com/reference/android/os/Bundle.html savedInstanceState` | If the fragment is being re-created from a previous saved state, this is the state. |

### onCreateHeadersSupportFragment

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

```
public HeadersSupportFragment onCreateHeadersSupportFragment()
```

Creates a new `https://developer.android.com/reference/androidx/leanback/app/HeadersSupportFragment` instance. Subclass of BrowseSupportFragment may override and return an instance of subclass of HeadersSupportFragment, e.g. when app wants to replace presenter to render HeaderItem.

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/leanback/app/HeadersSupportFragment` | A new instance of `https://developer.android.com/reference/androidx/leanback/app/HeadersSupportFragment` or its subclass. |

### onCreateView

```
public @Nullable View onCreateView(
    @NonNull LayoutInflater inflater,
    @Nullable ViewGroup container,
    @Nullable Bundle savedInstanceState
)
```

Called to have the fragment instantiate its user interface view. This is optional, and non-graphical fragments can return null. This will be called between `https://developer.android.com/reference/androidx/fragment/app/Fragment#onCreate(android.os.Bundle)` and `https://developer.android.com/reference/androidx/fragment/app/Fragment#onViewCreated(android.view.View,android.os.Bundle)`.

A default View can be returned by calling `https://developer.android.com/reference/androidx/fragment/app/Fragment#Fragment(int)` in your constructor. Otherwise, this method returns null.

It is recommended to **only** inflate the layout in this method and move logic that operates on the returned View to `https://developer.android.com/reference/androidx/fragment/app/Fragment#onViewCreated(android.view.View,android.os.Bundle)`.

If you return a View from here, you will later be called in `https://developer.android.com/reference/androidx/fragment/app/Fragment#onDestroyView()` when the view is being released.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/view/LayoutInflater.html inflater` | The LayoutInflater object that can be used to inflate any views in the fragment, |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/view/ViewGroup.html container` | If non-null, this is the parent view that the fragment's UI should be attached to. The fragment should not add the view itself, but this can be used to generate the LayoutParams of the view. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/os/Bundle.html savedInstanceState` | If non-null, this fragment is being re-constructed from a previous saved state as given here. |

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/view/View.html` | Return the View for the fragment's UI, or null. |

### onDestroy

```
public void onDestroy()
```

Called when the fragment is no longer in use. This is called after `https://developer.android.com/reference/androidx/fragment/app/Fragment#onStop()` and before `https://developer.android.com/reference/androidx/fragment/app/Fragment#onDetach()`.

### onDestroyView

```
public void onDestroyView()
```

Called when the view previously created by `https://developer.android.com/reference/androidx/fragment/app/Fragment#onCreateView(android.view.LayoutInflater,android.view.ViewGroup,android.os.Bundle)` has been detached from the fragment. The next time the fragment needs to be displayed, a new view will be created. This is called after `https://developer.android.com/reference/androidx/fragment/app/Fragment#onStop()` and before `https://developer.android.com/reference/androidx/fragment/app/Fragment#onDestroy()`. It is called *regardless* of whether `https://developer.android.com/reference/androidx/fragment/app/Fragment#onCreateView(android.view.LayoutInflater,android.view.ViewGroup,android.os.Bundle)` returned a non-null view. Internally it is called after the view's state has been saved but before it has been removed from its parent.

### onSaveInstanceState

```
public void onSaveInstanceState(@NonNull Bundle outState)
```

Called to ask the fragment to save its current dynamic state, so it can later be reconstructed in a new instance if its process is restarted. If a new instance of the fragment later needs to be created, the data you place in the Bundle here will be available in the Bundle given to `https://developer.android.com/reference/androidx/fragment/app/Fragment#onCreate(android.os.Bundle)`, `https://developer.android.com/reference/androidx/fragment/app/Fragment#onCreateView(android.view.LayoutInflater,android.view.ViewGroup,android.os.Bundle)`, and `https://developer.android.com/reference/androidx/fragment/app/Fragment#onViewCreated(android.view.View,android.os.Bundle)`.

This corresponds to `https://developer.android.com/reference/android/app/Activity.html#onSaveInstanceState(android.os.Bundle)` and most of the discussion there applies here as well. Note however: *this method may be called at any time before `https://developer.android.com/reference/androidx/fragment/app/Fragment#onDestroy()`*. There are many situations where a fragment may be mostly torn down (such as when placed on the back stack with no UI showing), but its state will not be saved until its owning activity actually needs to save its state.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/os/Bundle.html outState` | Bundle in which to place your saved state. |

### onStart

```
public void onStart()
```

Called when the Fragment is visible to the user. This is generally tied to `https://developer.android.com/reference/android/app/Activity.html#onStart()` of the containing Activity's lifecycle.

### onStop

```
public void onStop()
```

Called when the Fragment is no longer started. This is generally tied to `https://developer.android.com/reference/android/app/Activity.html#onStop()` of the containing Activity's lifecycle.

### setAdapter

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

```
public void setAdapter(ObjectAdapter adapter)
```

Sets the adapter containing the rows for the fragment.

The items referenced by the adapter must be be derived from `https://developer.android.com/reference/androidx/leanback/widget/Row`. These rows will be used by the rows fragment and the headers fragment (if not disabled) to render the browse rows.

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/leanback/widget/ObjectAdapter adapter` | An ObjectAdapter for the browse rows. All items must derive from `https://developer.android.com/reference/androidx/leanback/widget/Row`. |

### setBrandColor

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

```
public void setBrandColor(@ColorInt int color)
```

Sets the brand color for the browse fragment. The brand color is used as the primary color for UI elements in the browse fragment. For example, the background color of the headers fragment uses the brand color.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/ColorInt int color` | The color to use as the brand color of the fragment. |

### setBrowseTransitionListener

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

```
public void setBrowseTransitionListener(
    BrowseSupportFragment.BrowseTransitionListener listener
)
```

Sets a listener for browse fragment transitions.

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment.BrowseTransitionListener listener` | The listener to call when a browse headers transition begins or ends. |

### setHeaderPresenterSelector

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

```
public void setHeaderPresenterSelector(PresenterSelector headerPresenterSelector)
```

Sets the `https://developer.android.com/reference/androidx/leanback/widget/PresenterSelector` used to render the row headers.

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/leanback/widget/PresenterSelector headerPresenterSelector` | The PresenterSelector that will determine the Presenter for each row header. |

### setHeadersState

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

```
public void setHeadersState(int headersState)
```

Sets the state for the headers column in the browse fragment. Must be one of `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#HEADERS_ENABLED()`, `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#HEADERS_HIDDEN()`, or `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#HEADERS_DISABLED()`.

| Parameters |
|---|---|
| `int headersState` | The state of the headers for the browse fragment. |

### setHeadersTransitionOnBackEnabled

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

```
public final void setHeadersTransitionOnBackEnabled(boolean headersBackStackEnabled)
```

Enables/disables headers transition on back key support. This is enabled by default. The BrowseSupportFragment will add a back stack entry when headers are showing. Running a headers transition when the back key is pressed only works when the headers state is `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#HEADERS_ENABLED()` or `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#HEADERS_HIDDEN()`.

NOTE: If an Activity has its own onBackPressed() handling, you must disable this feature. You may use `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#startHeadersTransition(boolean)` and `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment.BrowseTransitionListener` in your own back stack handling.

### setOnItemViewClickedListener

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

```
public void setOnItemViewClickedListener(OnItemViewClickedListener listener)
```

Sets an item clicked listener on the fragment. OnItemViewClickedListener will override `https://developer.android.com/reference/android/view/View.OnClickListener.html` that item presenter sets during `https://developer.android.com/reference/androidx/leanback/widget/Presenter#onCreateViewHolder(android.view.ViewGroup)`. So in general, developer should choose one of the listeners but not both.

### setOnItemViewSelectedListener

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

```
public void setOnItemViewSelectedListener(OnItemViewSelectedListener listener)
```

Sets an item selection listener.

### setSelectedPosition

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

```
public void setSelectedPosition(int position)
```

Sets the selected row position with smooth animation.

### setSelectedPosition

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

```
public void setSelectedPosition(int position, boolean smooth)
```

Sets the selected row position.

### setSelectedPosition

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

```
public void setSelectedPosition(
    int rowPosition,
    boolean smooth,
    Presenter.ViewHolderTask rowHolderTask
)
```

Selects a Row and perform an optional task on the Row. For example `setSelectedPosition(10, true, new ListRowPresenterSelectItemViewHolderTask(5))` scrolls to 11th row and selects 6th item on that row. The method will be ignored if RowsSupportFragment has not been created (i.e. before `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment#onCreateView(android.view.LayoutInflater,android.view.ViewGroup,android.os.Bundle)`).

| Parameters |
|---|---|
| `int rowPosition` | Which row to select. |
| `boolean smooth` | True to scroll to the row, false for no animation. |
| `https://developer.android.com/reference/androidx/leanback/widget/Presenter.ViewHolderTask rowHolderTask` | Optional task to perform on the Row. When the task is not null, headers fragment will be collapsed. |

### startHeadersTransition

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

```
public void startHeadersTransition(boolean withHeaders)
```

Starts a headers transition.

This method will begin a transition to either show or hide the headers, depending on the value of withHeaders. If headers are disabled for this browse fragment, this method will throw an exception.

| Parameters |
|---|---|
| `boolean withHeaders` | True if the headers should transition to being shown, false if the transition should result in headers being hidden. |

## Protected methods

### createEntranceTransition

```
protected Object createEntranceTransition()
```

Create entrance transition. Subclass can override to load transition from resource or construct manually. Typically app does not need to override the default transition that browse and details provides.

### onEntranceTransitionEnd

```
protected void onEntranceTransitionEnd()
```

Callback when entrance transition is ended.

### onEntranceTransitionPrepare

```
protected void onEntranceTransitionPrepare()
```

Callback when entrance transition is prepared. This is when fragment should stop user input and animations.

### onEntranceTransitionStart

```
protected void onEntranceTransitionStart()
```

Callback when entrance transition is started. This is when fragment should stop processing layout.

### runEntranceTransition

```
protected void runEntranceTransition(Object entranceTransition)
```

Run entrance transition. Subclass may use TransitionManager to perform go(Scene) or beginDelayedTransition(). App should not override the default implementation of browse and details fragment.