# GuidedStepSupportFragment

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

*** ** * ** ***


```
public class GuidedStepSupportFragment extends Fragment
```

<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.GuidedStepSupportFragment](https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment) |

*** ** * ** ***

A GuidedStepSupportFragment is used to guide the user through a decision or series of decisions. It is composed of a guidance view on the left and a view on the right containing a list of possible actions.

### Basic Usage

Clients of GuidedStepSupportFragment must create a custom subclass to attach to their Activities. This custom subclass provides the information necessary to construct the user interface and respond to user actions. At a minimum, subclasses should override:

- `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#onCreateGuidance(android.os.Bundle)`, to provide instructions to the user
- `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#onCreateActions(java.util.List<androidx.leanback.widget.GuidedAction>,android.os.Bundle)`, to provide a set of `https://developer.android.com/reference/androidx/leanback/widget/GuidedAction`s the user can take
- `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#onGuidedActionClicked(androidx.leanback.widget.GuidedAction)`, to respond to those actions

Clients use following helper functions to add GuidedStepSupportFragment to Activity or FragmentManager:

- `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#addAsRoot(androidx.fragment.app.FragmentActivity,androidx.leanback.app.GuidedStepSupportFragment,int)`, to be called during Activity onCreate, adds GuidedStepSupportFragment as the first Fragment in activity.
- `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#add(androidx.fragment.app.FragmentManager,androidx.leanback.app.GuidedStepSupportFragment)` or `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#add(androidx.fragment.app.FragmentManager,androidx.leanback.app.GuidedStepSupportFragment,int)`, to add GuidedStepSupportFragment on top of existing Fragments or replacing existing GuidedStepSupportFragment when moving forward to next step.
- `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#finishGuidedStepSupportFragments()` can either finish the activity or pop all GuidedStepSupportFragment from stack.
- If app chooses not to use the helper function, it is the app's responsibility to call `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#setUiStyle(int)` to select fragment transition and remember the stack entry where it need pops to.

### Theming and Stylists

GuidedStepSupportFragment delegates its visual styling to classes called stylists. The `https://developer.android.com/reference/androidx/leanback/widget/GuidanceStylist` is responsible for the left guidance view, while the `https://developer.android.com/reference/androidx/leanback/widget/GuidedActionsStylist` is responsible for the right actions view. The stylists use theme attributes to derive values associated with the presentation, such as colors, animations, etc. Most simple visual aspects of GuidanceStylist and GuidedActionsStylist can be customized via theming; see their documentation for more information.

GuidedStepSupportFragments must have access to an appropriate theme in order for the stylists to function properly. Specifically, the fragment must receive , or a theme whose parent is is set to that theme. Themes can be provided in one of three ways:

- The simplest way is to set the theme for the host Activity to the GuidedStep theme or a theme that derives from it.
- If the Activity already has a theme and setting its parent theme is inconvenient, the existing Activity theme can have an entry added for the attribute . If present, this theme will be used by GuidedStepSupportFragment as an overlay to the Activity's theme.
- Finally, custom subclasses of GuidedStepSupportFragment may provide a theme through the `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#onProvideTheme()` method. This can be useful if a subclass is used across multiple Activities.

If the theme is provided in multiple ways, the onProvideTheme override has priority, followed by the Activity's theme. (Themes whose parent theme is already set to the guided step theme do not need to set the guidedStepTheme attribute; if set, it will be ignored.)

If themes do not provide enough customizability, the stylists themselves may be subclassed and provided to the GuidedStepSupportFragment through the `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#onCreateGuidanceStylist()` and `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#onCreateActionsStylist()` methods. The stylists have simple hooks so that subclasses may override layout files; subclasses may also have more complex logic to determine styling.

### Guided sequences

GuidedStepSupportFragments can be grouped together to provide a guided sequence. GuidedStepSupportFragments grouped as a sequence use custom animations provided by `https://developer.android.com/reference/androidx/leanback/widget/GuidanceStylist` and `https://developer.android.com/reference/androidx/leanback/widget/GuidedActionsStylist` (or subclasses) during transitions between steps. Clients should use `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#add(androidx.fragment.app.FragmentManager,androidx.leanback.app.GuidedStepSupportFragment)` to place subsequent GuidedFragments onto the fragment stack so that custom animations are properly configured. (Custom animations are triggered automatically when the fragment stack is subsequently popped by any normal mechanism.)

*Note: Currently GuidedStepSupportFragments grouped in this way must all be defined programmatically, rather than in XML. This restriction may be removed in the future.*

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/leanback/widget/GuidanceStylist` |   |
| `https://developer.android.com/reference/androidx/leanback/widget/GuidanceStylist.Guidance` |   |
| `https://developer.android.com/reference/androidx/leanback/widget/GuidedAction` |   |
| `https://developer.android.com/reference/androidx/leanback/widget/GuidedActionsStylist` |   |

## Summary

| ### Constants |
|---|---|
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#EXTRA_UI_STYLE() = "uiStyle"` Fragment argument name for UI style. |
| `static final int` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#UI_STYLE_ACTIVITY_ROOT() = 2` One possible value of argument `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#EXTRA_UI_STYLE()`. |
| `static final int` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#UI_STYLE_DEFAULT() = 0` **This field is deprecated.** Same value as `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#UI_STYLE_REPLACE()`. <br /> |
| `static final int` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#UI_STYLE_ENTRANCE() = 1` Default value for argument `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#EXTRA_UI_STYLE()`. |
| `static final int` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#UI_STYLE_REPLACE() = 0` This is the case that we use GuidedStepSupportFragment to replace another existing GuidedStepSupportFragment when moving forward to next step. |

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

| ### Public methods |
|---|---|
| `static int` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#add(androidx.fragment.app.FragmentManager,androidx.leanback.app.GuidedStepSupportFragment)( @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/fragment/app/FragmentManager fragmentManager, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment fragment )` Adds the specified GuidedStepSupportFragment to the fragment stack, replacing any existing GuidedStepSupportFragments in the stack, and configuring the fragment-to-fragment custom transitions. |
| `static int` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#add(androidx.fragment.app.FragmentManager,androidx.leanback.app.GuidedStepSupportFragment,int)( @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/fragment/app/FragmentManager fragmentManager, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment fragment, int id )` Adds the specified GuidedStepSupportFragment to the fragment stack, replacing any existing GuidedStepSupportFragments in the stack, and configuring the fragment-to-fragment custom transitions. |
| `static int` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#addAsRoot(androidx.fragment.app.FragmentActivity,androidx.leanback.app.GuidedStepSupportFragment,int)( @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/fragment/app/FragmentActivity activity, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment fragment, int id )` Adds the specified GuidedStepSupportFragment as content of Activity; no backstack entry is added so the activity will be dismissed when BACK key is pressed. |
| `void` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#collapseAction(boolean)(boolean withTransition)` Collapse action which either has a sub actions list or action with `https://developer.android.com/reference/androidx/leanback/widget/GuidedAction#hasEditableActivatorView()` is true. |
| `void` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#collapseSubActions()()` Collapse sub actions list. |
| `void` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#expandAction(androidx.leanback.widget.GuidedAction,boolean)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/widget/GuidedAction action, boolean withTransition)` Expand a given action with sub actions list or `https://developer.android.com/reference/androidx/leanback/widget/GuidedAction#hasEditableActivatorView()` is true. |
| `void` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#expandSubActions(androidx.leanback.widget.GuidedAction)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/widget/GuidedAction action)` Expand a given action's sub actions list. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/androidx/leanback/widget/GuidedAction` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#findActionById(long)(long id)` Find GuidedAction by Id. |
| `int` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#findActionPositionById(long)(long id)` Find GuidedAction position in array by Id. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/androidx/leanback/widget/GuidedAction` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#findButtonActionById(long)(long id)` Find button GuidedAction by Id. |
| `int` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#findButtonActionPositionById(long)(long id)` Find button GuidedAction position in array by Id. |
| `void` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#finishGuidedStepSupportFragments()()` Convenient method to close GuidedStepSupportFragments on top of other content or finish Activity if GuidedStepSupportFragments were started in a separate activity. |
| `@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/GuidedStepSupportFragment#getActionItemView(int)(int position)` Returns the view corresponding to the action at the indicated position in the list of actions for this fragment. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/util/List.html<https://developer.android.com/reference/androidx/leanback/widget/GuidedAction>` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#getActions()()` Returns the list of GuidedActions that the user may take in this 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/GuidedStepSupportFragment#getButtonActionItemView(int)(int position)` Returns the view corresponding to the button action at the indicated position in the list of actions for this fragment. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/util/List.html<https://developer.android.com/reference/androidx/leanback/widget/GuidedAction>` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#getButtonActions()()` Returns the list of button GuidedActions that the user may take in this fragment. |
| `static @https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#getCurrentGuidedStepSupportFragment(androidx.fragment.app.FragmentManager)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/fragment/app/FragmentManager fm)` Returns the current GuidedStepSupportFragment on the fragment transaction stack. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/widget/GuidanceStylist` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#getGuidanceStylist()()` Returns the GuidanceStylist that displays guidance information for the user. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/widget/GuidedActionsStylist` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#getGuidedActionsStylist()()` Returns the GuidedActionsStylist that displays the actions the user may take. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/widget/GuidedActionsStylist` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#getGuidedButtonActionsStylist()()` Returns the GuidedActionsStylist that displays the button actions the user may take. |
| `int` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#getSelectedActionPosition()()` Returns the position if the currently selected GuidedAction. |
| `int` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#getSelectedButtonActionPosition()()` Returns the position if the currently selected button GuidedAction. |
| `int` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#getUiStyle()()` Read UI style from fragment arguments. |
| `boolean` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#isExpanded()()` |
| `boolean` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#isFocusOutEndAllowed()()` Returns true if allows focus out of end edge of GuidedStepSupportFragment, false otherwise. |
| `boolean` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#isFocusOutStartAllowed()()` Returns true if allows focus out of start edge of GuidedStepSupportFragment, false otherwise. |
| `boolean` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#isSubActionsExpanded()()` |
| `void` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#notifyActionChanged(int)(int position)` Notify an action has changed and update its UI. |
| `void` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#notifyButtonActionChanged(int)(int position)` Notify an button action has changed and update its UI. |
| `void` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#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. |
| `void` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#onCreateActions(java.util.List<androidx.leanback.widget.GuidedAction>,android.os.Bundle)( @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/util/List.html<https://developer.android.com/reference/androidx/leanback/widget/GuidedAction> actions, @https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/os/Bundle.html savedInstanceState )` Fills out the set of actions available to the user. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/widget/GuidedActionsStylist` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#onCreateActionsStylist()()` Creates the presenter used to style the guided actions panel. |
| `@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/GuidedStepSupportFragment#onCreateBackgroundView(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 by onCreateView to inflate background view. |
| `void` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#onCreateButtonActions(java.util.List<androidx.leanback.widget.GuidedAction>,android.os.Bundle)( @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/util/List.html<https://developer.android.com/reference/androidx/leanback/widget/GuidedAction> actions, @https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/os/Bundle.html savedInstanceState )` Fills out the set of actions shown at right available to the user. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/widget/GuidedActionsStylist` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#onCreateButtonActionsStylist()()` Creates the presenter used to style a sided actions panel for button only. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/widget/GuidanceStylist.Guidance` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#onCreateGuidance(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 information required to provide guidance to the user. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/widget/GuidanceStylist` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#onCreateGuidanceStylist()()` Creates the presenter used to style the guidance panel. |
| `@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/GuidedStepSupportFragment#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/GuidedStepSupportFragment#onDestroyView()()` Called when the view previously created by #onCreateView has been detached from the fragment. |
| `void` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#onGuidedActionClicked(androidx.leanback.widget.GuidedAction)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/widget/GuidedAction action)` Callback invoked when an action is taken by the user. |
| `void` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#onGuidedActionEditCanceled(androidx.leanback.widget.GuidedAction)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/widget/GuidedAction action)` Callback invoked when an action has been canceled editing, for example when user closes IME window by BACK key. |
| `void` | `[onGuidedActionEdited](https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#onGuidedActionEdited(androidx.leanback.widget.GuidedAction))(https://developer.android.com/reference/androidx/leanback/widget/GuidedAction action)` **This method is deprecated.** Override `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#onGuidedActionEditedAndProceed(androidx.leanback.widget.GuidedAction)` and/or `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#onGuidedActionEditCanceled(androidx.leanback.widget.GuidedAction)`. <br /> |
| `long` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#onGuidedActionEditedAndProceed(androidx.leanback.widget.GuidedAction)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/widget/GuidedAction action)` Callback invoked when an action has been edited, for example when user clicks confirm button in IME window. |
| `void` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#onGuidedActionFocused(androidx.leanback.widget.GuidedAction)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/widget/GuidedAction action)` Callback invoked when an action is focused (made to be the current selection) by the user. |
| `int` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#onProvideTheme()()` Returns the theme used for styling the fragment. |
| `void` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#onResume()()` Called when the fragment is visible to the user and actively running. |
| `void` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#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. |
| `boolean` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#onSubGuidedActionClicked(androidx.leanback.widget.GuidedAction)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/widget/GuidedAction action)` Callback invoked when an action in sub actions is taken by the user. |
| `void` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#openInEditMode(androidx.leanback.widget.GuidedAction)(@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/androidx/leanback/widget/GuidedAction action)` Opens the provided action in edit mode and raises ime. |
| `void` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#popBackStackToGuidedStepSupportFragment(java.lang.Class<?>,int)( @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/Class.html<@https://developer.android.com/reference/androidx/annotation/NonNull ?> guidedStepFragmentClass, int flags )` Convenient method to pop to fragment with Given class. |
| `void` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#setActions(java.util.List<androidx.leanback.widget.GuidedAction>)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/util/List.html<https://developer.android.com/reference/androidx/leanback/widget/GuidedAction> actions)` Sets the list of GuidedActions that the user may take in this fragment. |
| `void` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#setActionsDiffCallback(androidx.leanback.widget.DiffCallback<androidx.leanback.widget.GuidedAction>)( @https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/androidx/leanback/widget/DiffCallback<https://developer.android.com/reference/androidx/leanback/widget/GuidedAction> diffCallback )` Sets the RecyclerView DiffCallback used when `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#setActions(java.util.List<androidx.leanback.widget.GuidedAction>)` is called. |
| `void` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#setButtonActions(java.util.List<androidx.leanback.widget.GuidedAction>)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/util/List.html<https://developer.android.com/reference/androidx/leanback/widget/GuidedAction> actions)` Sets the list of button GuidedActions that the user may take in this fragment. |
| `void` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#setSelectedActionPosition(int)(int position)` Scrolls the action list to the position indicated, selecting that action's view. |
| `void` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#setSelectedButtonActionPosition(int)(int position)` Scrolls the action list to the position indicated, selecting that button action's view. |
| `void` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#setUiStyle(int)(int style)` Set UI style to fragment arguments. |

| ### Protected methods |
|---|---|
| `void` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#onAddSharedElementTransition(androidx.fragment.app.FragmentTransaction,androidx.leanback.app.GuidedStepSupportFragment)( @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/fragment/app/FragmentTransaction ft, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment disappearing )` Called when this fragment is added to FragmentTransaction with `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#UI_STYLE_REPLACE()` (aka when the GuidedStepSupportFragment replacing an existing GuidedStepSupportFragment). |
| `void` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#onProvideFragmentTransitions()()` Called by Constructor to provide fragment transitions. |

### 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 [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.
`@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
@https://developer.android.com/reference/androidx/annotation/CallSuper
https://developer.android.com/reference/androidx/fragment/app/Fragment#onDestroy()()`

Called when the fragment is no longer in use.
`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/annotation/MainThread
@https://developer.android.com/reference/androidx/annotation/CallSuper
https://developer.android.com/reference/androidx/fragment/app/Fragment#onPause()()`

Called when the Fragment is no longer resumed.
`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#onStart()()`

Called when the Fragment is visible to the user.
`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#onStop()()`

Called when the Fragment is no longer started.
`void` `@https://developer.android.com/reference/androidx/annotation/MainThread
https://developer.android.com/reference/androidx/fragment/app/Fragment#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/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

### EXTRA_UI_STYLE

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

```
public static final String EXTRA_UI_STYLE = "uiStyle"
```

Fragment argument name for UI style. The argument value is persisted in fragment state and used to select fragment transition. The value is initially `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#UI_STYLE_ENTRANCE()` and might be changed in one of the three helper functions:

- `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#addAsRoot(androidx.fragment.app.FragmentActivity,androidx.leanback.app.GuidedStepSupportFragment,int)` sets to `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#UI_STYLE_ACTIVITY_ROOT()`
- `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#add(androidx.fragment.app.FragmentManager,androidx.leanback.app.GuidedStepSupportFragment)` or `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#add(androidx.fragment.app.FragmentManager,androidx.leanback.app.GuidedStepSupportFragment,int)` sets it to `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#UI_STYLE_REPLACE()` if there is already a GuidedStepSupportFragment on stack.
- `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#finishGuidedStepSupportFragments()` changes current GuidedStepSupportFragment to `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#UI_STYLE_ENTRANCE()` for the non activity case. This is a special case that changes the transition settings after fragment has been created, in order to force current GuidedStepSupportFragment run a return transition of `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#UI_STYLE_ENTRANCE()`

Argument value can be either:

- `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#UI_STYLE_REPLACE()`
- `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#UI_STYLE_ENTRANCE()`
- `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#UI_STYLE_ACTIVITY_ROOT()`

### UI_STYLE_ACTIVITY_ROOT

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

```
public static final int UI_STYLE_ACTIVITY_ROOT = 2
```

One possible value of argument `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#EXTRA_UI_STYLE()`. This is the case that we show first GuidedStepSupportFragment in a separate activity. The default behavior of this style:

- Enter transition is assigned null (will rely on activity transition), exit transition is same as `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#UI_STYLE_ENTRANCE()`. Note: Changing exit transition by UI style is not working because fragment transition asks for exit transition before UI style is restored in Fragment.onCreate().

### UI_STYLE_DEFAULT

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 static final int UI_STYLE_DEFAULT = 0
```

> [!CAUTION]
> **This field is deprecated.**   
>
> Same value as `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#UI_STYLE_REPLACE()`.

### UI_STYLE_ENTRANCE

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

```
public static final int UI_STYLE_ENTRANCE = 1
```

Default value for argument `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#EXTRA_UI_STYLE()`. The default value is assigned in GuidedStepSupportFragment constructor. This is the case that we show GuidedStepSupportFragment on top of other content. The default behavior of this style:

- Enter transition slides in from two sides, exit transition slide out to START(left). Background will be faded in. Note: Changing exit transition by UI style is not working because fragment transition asks for exit transition before UI style is restored in Fragment .onCreate().

When popping multiple GuidedStepSupportFragment, `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#finishGuidedStepSupportFragments()` also changes the top GuidedStepSupportFragment to UI_STYLE_ENTRANCE in order to run the return transition (reverse of enter transition) of UI_STYLE_ENTRANCE.

### UI_STYLE_REPLACE

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

```
public static final int UI_STYLE_REPLACE = 0
```

This is the case that we use GuidedStepSupportFragment to replace another existing GuidedStepSupportFragment when moving forward to next step. Default behavior of this style is:

- Enter transition slides in from END(right), exit transition same as `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#UI_STYLE_ENTRANCE()`.

## Public constructors

### GuidedStepSupportFragment

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

```
public GuidedStepSupportFragment()
```

## Public methods

### add

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

```
public static int add(
    @NonNull FragmentManager fragmentManager,
    @NonNull GuidedStepSupportFragment fragment
)
```

Adds the specified GuidedStepSupportFragment to the fragment stack, replacing any existing GuidedStepSupportFragments in the stack, and configuring the fragment-to-fragment custom transitions. A backstack entry is added, so the fragment will be dismissed when BACK key is pressed.

- If current fragment on stack is GuidedStepSupportFragment: assign `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#UI_STYLE_REPLACE()`
- If current fragment on stack is not GuidedStepSupportFragment: assign `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#UI_STYLE_ENTRANCE()`

Note: currently fragments added using this method must be created programmatically rather than via XML.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/fragment/app/FragmentManager fragmentManager` | The FragmentManager to be used in the transaction. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment fragment` | The GuidedStepSupportFragment to be inserted into the fragment stack. |

| Returns |
|---|---|
| `int` | The ID returned by the call FragmentTransaction.commit. |

### add

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

```
public static int add(
    @NonNull FragmentManager fragmentManager,
    @NonNull GuidedStepSupportFragment fragment,
    int id
)
```

Adds the specified GuidedStepSupportFragment to the fragment stack, replacing any existing GuidedStepSupportFragments in the stack, and configuring the fragment-to-fragment custom transitions. A backstack entry is added, so the fragment will be dismissed when BACK key is pressed.

- If current fragment on stack is GuidedStepSupportFragment: assign `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#UI_STYLE_REPLACE()` and `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#onAddSharedElementTransition(androidx.fragment.app.FragmentTransaction,androidx.leanback.app.GuidedStepSupportFragment)` will be called to perform shared element transition between GuidedStepSupportFragments.
- If current fragment on stack is not GuidedStepSupportFragment: assign `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#UI_STYLE_ENTRANCE()`

Note: currently fragments added using this method must be created programmatically rather than via XML.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/fragment/app/FragmentManager fragmentManager` | The FragmentManager to be used in the transaction. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment fragment` | The GuidedStepSupportFragment to be inserted into the fragment stack. |
| `int id` | The id of container to add GuidedStepSupportFragment, can be android.R.id.content. |

| Returns |
|---|---|
| `int` | The ID returned by the call FragmentTransaction.commit. |

### addAsRoot

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

```
public static int addAsRoot(
    @NonNull FragmentActivity activity,
    @NonNull GuidedStepSupportFragment fragment,
    int id
)
```

Adds the specified GuidedStepSupportFragment as content of Activity; no backstack entry is added so the activity will be dismissed when BACK key is pressed. The method is typically called in Activity.onCreate() when savedInstanceState is null. When savedInstanceState is not null, the Activity is being restored, do not call addAsRoot() to duplicate the Fragment restored by FragmentManager. `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#UI_STYLE_ACTIVITY_ROOT()` is assigned. Note: currently fragments added using this method must be created programmatically rather than via XML.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/fragment/app/FragmentActivity activity` | The Activity to be used to insert GuidedstepFragment. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment fragment` | The GuidedStepSupportFragment to be inserted into the fragment stack. |
| `int id` | The id of container to add GuidedStepSupportFragment, can be android.R.id.content. |

| Returns |
|---|---|
| `int` | The ID returned by the call FragmentTransaction.commit, or -1 there is already GuidedStepSupportFragment. |

### collapseAction

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

```
public void collapseAction(boolean withTransition)
```

Collapse action which either has a sub actions list or action with `https://developer.android.com/reference/androidx/leanback/widget/GuidedAction#hasEditableActivatorView()` is true.

| Parameters |
|---|---|
| `boolean withTransition` | True to run transition animation, false otherwise. |

### collapseSubActions

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

```
public void collapseSubActions()
```

Collapse sub actions list.

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/leanback/widget/GuidedAction#getSubActions()` |   |

### expandAction

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

```
public void expandAction(@NonNull GuidedAction action, boolean withTransition)
```

Expand a given action with sub actions list or `https://developer.android.com/reference/androidx/leanback/widget/GuidedAction#hasEditableActivatorView()` is true. The method must be called after `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#onCreateView(android.view.LayoutInflater,android.view.ViewGroup,android.os.Bundle)` creates fragment view.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/widget/GuidedAction action` | GuidedAction to expand. |
| `boolean withTransition` | True to run transition animation, false otherwise. |

### expandSubActions

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

```
public void expandSubActions(@NonNull GuidedAction action)
```

Expand a given action's sub actions list.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/widget/GuidedAction action` | GuidedAction to expand. |

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#expandAction(androidx.leanback.widget.GuidedAction,boolean)` |   |

### findActionById

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

```
public @Nullable GuidedAction findActionById(long id)
```

Find GuidedAction by Id.

| Parameters |
|---|---|
| `long id` | Id of the action to search. |

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/androidx/leanback/widget/GuidedAction` | GuidedAction object or null if not found. |

### findActionPositionById

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

```
public int findActionPositionById(long id)
```

Find GuidedAction position in array by Id.

| Parameters |
|---|---|
| `long id` | Id of the action to search. |

| Returns |
|---|---|
| `int` | position of GuidedAction object in array or -1 if not found. |

### findButtonActionById

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

```
public @Nullable GuidedAction findButtonActionById(long id)
```

Find button GuidedAction by Id.

| Parameters |
|---|---|
| `long id` | Id of the button action to search. |

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/androidx/leanback/widget/GuidedAction` | GuidedAction object or null if not found. |

### findButtonActionPositionById

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

```
public int findButtonActionPositionById(long id)
```

Find button GuidedAction position in array by Id.

| Parameters |
|---|---|
| `long id` | Id of the button action to search. |

| Returns |
|---|---|
| `int` | position of GuidedAction object in array or -1 if not found. |

### finishGuidedStepSupportFragments

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

```
public void finishGuidedStepSupportFragments()
```

Convenient method to close GuidedStepSupportFragments on top of other content or finish Activity if GuidedStepSupportFragments were started in a separate activity. Pops all stack entries including `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#UI_STYLE_ENTRANCE()`; if `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#UI_STYLE_ENTRANCE()` is not found, finish the activity. Note that this method must be paired with `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#add(androidx.fragment.app.FragmentManager,androidx.leanback.app.GuidedStepSupportFragment,int)` which sets up the stack entry name for finding which fragment we need to pop back to.

### getActionItemView

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

```
public @Nullable View getActionItemView(int position)
```

Returns the view corresponding to the action at the indicated position in the list of actions for this fragment.

| Parameters |
|---|---|
| `int position` | The integer position of the action of interest. |

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/view/View.html` | The View corresponding to the action at the indicated position, or null if that action is not currently onscreen. |

### getActions

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

```
public @NonNull List<GuidedAction> getActions()
```

Returns the list of GuidedActions that the user may take in this fragment.

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/util/List.html<https://developer.android.com/reference/androidx/leanback/widget/GuidedAction>` | The list of GuidedActions for this fragment. |

### getButtonActionItemView

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

```
public @Nullable View getButtonActionItemView(int position)
```

Returns the view corresponding to the button action at the indicated position in the list of actions for this fragment.

| Parameters |
|---|---|
| `int position` | The integer position of the button action of interest. |

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/view/View.html` | The View corresponding to the button action at the indicated position, or null if that action is not currently onscreen. |

### getButtonActions

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

```
public @NonNull List<GuidedAction> getButtonActions()
```

Returns the list of button GuidedActions that the user may take in this fragment.

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/util/List.html<https://developer.android.com/reference/androidx/leanback/widget/GuidedAction>` | The list of button GuidedActions for this fragment. |

### getCurrentGuidedStepSupportFragment

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

```
public static @Nullable GuidedStepSupportFragment getCurrentGuidedStepSupportFragment(@NonNull FragmentManager fm)
```

Returns the current GuidedStepSupportFragment on the fragment transaction stack.

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment` | The current GuidedStepSupportFragment, if any, on the fragment transaction stack. |

### getGuidanceStylist

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

```
public @NonNull GuidanceStylist getGuidanceStylist()
```

Returns the GuidanceStylist that displays guidance information for the user.

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/widget/GuidanceStylist` | The GuidanceStylist for this fragment. |

### getGuidedActionsStylist

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

```
public @NonNull GuidedActionsStylist getGuidedActionsStylist()
```

Returns the GuidedActionsStylist that displays the actions the user may take.

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/widget/GuidedActionsStylist` | The GuidedActionsStylist for this fragment. |

### getGuidedButtonActionsStylist

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

```
public @NonNull GuidedActionsStylist getGuidedButtonActionsStylist()
```

Returns the GuidedActionsStylist that displays the button actions the user may take.

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/widget/GuidedActionsStylist` | The GuidedActionsStylist for this fragment. |

### getSelectedActionPosition

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

```
public int getSelectedActionPosition()
```

Returns the position if the currently selected GuidedAction.

| Returns |
|---|---|
| `int` | position The integer position of the currently selected action. |

### getSelectedButtonActionPosition

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

```
public int getSelectedButtonActionPosition()
```

Returns the position if the currently selected button GuidedAction.

| Returns |
|---|---|
| `int` | position The integer position of the currently selected button action. |

### getUiStyle

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

```
public int getUiStyle()
```

Read UI style from fragment arguments. Default value is `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#UI_STYLE_ENTRANCE()` when fragment is first initialized. UI style is used to choose different fragment transition animations and determine if this is the first GuidedStepSupportFragment on backstack.

| Returns |
|---|---|
| `int` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#UI_STYLE_ACTIVITY_ROOT()``https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#UI_STYLE_REPLACE()` or `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#UI_STYLE_ENTRANCE()`. |

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#onProvideFragmentTransitions()` |   |

### isExpanded

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

```
public boolean isExpanded()
```

| Returns |
|---|---|
| `boolean` | True if is current expanded including subactions list or action with `https://developer.android.com/reference/androidx/leanback/widget/GuidedAction#hasEditableActivatorView()` is true. |

### isFocusOutEndAllowed

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

```
public boolean isFocusOutEndAllowed()
```

Returns true if allows focus out of end edge of GuidedStepSupportFragment, false otherwise. Default value is false, the reason is to disable FocusFinder to find focusable views beneath content of GuidedStepSupportFragment. Subclass may override.

| Returns |
|---|---|
| `boolean` | True if allows focus out of end edge of GuidedStepSupportFragment. |

### isFocusOutStartAllowed

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

```
public boolean isFocusOutStartAllowed()
```

Returns true if allows focus out of start edge of GuidedStepSupportFragment, false otherwise. Default value is false, the reason is to disable FocusFinder to find focusable views beneath content of GuidedStepSupportFragment. Subclass may override.

| Returns |
|---|---|
| `boolean` | True if allows focus out of start edge of GuidedStepSupportFragment. |

### isSubActionsExpanded

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

```
public boolean isSubActionsExpanded()
```

| Returns |
|---|---|
| `boolean` | True if the sub actions list is expanded, false otherwise. |

### notifyActionChanged

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

```
public void notifyActionChanged(int position)
```

Notify an action has changed and update its UI.

| Parameters |
|---|---|
| `int position` | Position of the GuidedAction in array. |

### notifyButtonActionChanged

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

```
public void notifyButtonActionChanged(int position)
```

Notify an button action has changed and update its UI.

| Parameters |
|---|---|
| `int position` | Position of the button GuidedAction in array. |

### onCreate

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

Called to do initial creation of a fragment. This is called after #onAttach(Activity) and before #onCreateView(LayoutInflater, ViewGroup, 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 on the activity's Lifecycle, removing it when it receives the Lifecycle.State#CREATED callback.

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

### onCreateActions

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

```
public void onCreateActions(
    @NonNull List<GuidedAction> actions,
    @Nullable Bundle savedInstanceState
)
```

Fills out the set of actions available to the user. This hook is called during `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#onCreate(android.os.Bundle)`. The default leaves the list of actions empty; subclasses should override.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/util/List.html<https://developer.android.com/reference/androidx/leanback/widget/GuidedAction> actions` | A non-null, empty list ready to be populated. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/os/Bundle.html savedInstanceState` | The saved instance state from onCreate. |

### onCreateActionsStylist

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

```
public @NonNull GuidedActionsStylist onCreateActionsStylist()
```

Creates the presenter used to style the guided actions panel. The default implementation returns a basic GuidedActionsStylist.

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/widget/GuidedActionsStylist` | The GuidedActionsStylist used in this fragment. |

### onCreateBackgroundView

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

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

Called by onCreateView to inflate background view. Default implementation loads view from which holds a reference to guidedStepBackground.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/view/LayoutInflater.html inflater` | LayoutInflater to load background view. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/view/ViewGroup.html container` | Parent view of background view. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/os/Bundle.html savedInstanceState` |   |

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/view/View.html` | Created background view or null if no background. |

### onCreateButtonActions

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

```
public void onCreateButtonActions(
    @NonNull List<GuidedAction> actions,
    @Nullable Bundle savedInstanceState
)
```

Fills out the set of actions shown at right available to the user. This hook is called during `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#onCreate(android.os.Bundle)`. The default leaves the list of actions empty; subclasses may override.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/util/List.html<https://developer.android.com/reference/androidx/leanback/widget/GuidedAction> actions` | A non-null, empty list ready to be populated. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/os/Bundle.html savedInstanceState` | The saved instance state from onCreate. |

### onCreateButtonActionsStylist

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

```
public @NonNull GuidedActionsStylist onCreateButtonActionsStylist()
```

Creates the presenter used to style a sided actions panel for button only. The default implementation returns a basic GuidedActionsStylist.

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/widget/GuidedActionsStylist` | The GuidedActionsStylist used in this fragment. |

### onCreateGuidance

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

```
public @NonNull GuidanceStylist.Guidance onCreateGuidance(@Nullable Bundle savedInstanceState)
```

Returns the information required to provide guidance to the user. This hook is called during `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#onCreateView(android.view.LayoutInflater,android.view.ViewGroup,android.os.Bundle)`. May be overridden to return a custom subclass of `https://developer.android.com/reference/androidx/leanback/widget/GuidanceStylist.Guidance` for use in a subclass of `https://developer.android.com/reference/androidx/leanback/widget/GuidanceStylist`. The default returns a Guidance object with empty fields; subclasses should override.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/os/Bundle.html savedInstanceState` | The saved instance state from onCreateView. |

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/widget/GuidanceStylist.Guidance` | The Guidance object representing the information used to guide the user. |

### onCreateGuidanceStylist

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

```
public @NonNull GuidanceStylist onCreateGuidanceStylist()
```

Creates the presenter used to style the guidance panel. The default implementation returns a basic GuidanceStylist.

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/widget/GuidanceStylist` | The GuidanceStylist used in this fragment. |

### 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 #onCreate(Bundle) and #onViewCreated(View, Bundle).

A default View can be returned by calling #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 #onViewCreated(View, Bundle).

If you return a View from here, you will later be called in #onDestroyView when the view is being released.

### onDestroyView

```
public void onDestroyView()
```

Called when the view previously created by #onCreateView 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 #onStop() and before #onDestroy(). It is called *regardless* of whether #onCreateView 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.

### onGuidedActionClicked

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

```
public void onGuidedActionClicked(@NonNull GuidedAction action)
```

Callback invoked when an action is taken by the user. Subclasses should override in order to act on the user's decisions.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/widget/GuidedAction action` | The chosen action. |

### onGuidedActionEditCanceled

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

```
public void onGuidedActionEditCanceled(@NonNull GuidedAction action)
```

Callback invoked when an action has been canceled editing, for example when user closes IME window by BACK key. Default implementation calls deprecated method `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#onGuidedActionEdited(androidx.leanback.widget.GuidedAction)`.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/widget/GuidedAction action` | The action which has been canceled editing. |

### onGuidedActionEdited

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 [onGuidedActionEdited](https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#onGuidedActionEdited(androidx.leanback.widget.GuidedAction))(GuidedAction action)
```

> [!CAUTION]
> **This method is deprecated.**   
>
> Override `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#onGuidedActionEditedAndProceed(androidx.leanback.widget.GuidedAction)` and/or `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#onGuidedActionEditCanceled(androidx.leanback.widget.GuidedAction)`.

Callback invoked when an action's title or description has been edited, this happens either when user clicks confirm button in IME or user closes IME window by BACK key.

### onGuidedActionEditedAndProceed

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

```
public long onGuidedActionEditedAndProceed(@NonNull GuidedAction action)
```

Callback invoked when an action has been edited, for example when user clicks confirm button in IME window. Default implementation calls deprecated method `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#onGuidedActionEdited(androidx.leanback.widget.GuidedAction)` and returns `https://developer.android.com/reference/androidx/leanback/widget/GuidedAction#ACTION_ID_NEXT()`.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/widget/GuidedAction action` | The action that has been edited. |

| Returns |
|---|---|
| `long` | ID of the action will be focused or `https://developer.android.com/reference/androidx/leanback/widget/GuidedAction#ACTION_ID_NEXT()`, `https://developer.android.com/reference/androidx/leanback/widget/GuidedAction#ACTION_ID_CURRENT()`. |

### onGuidedActionFocused

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

```
public void onGuidedActionFocused(@NonNull GuidedAction action)
```

Callback invoked when an action is focused (made to be the current selection) by the user.

### onProvideTheme

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

```
public int onProvideTheme()
```

Returns the theme used for styling the fragment. The default returns -1, indicating that the host Activity's theme should be used.

| Returns |
|---|---|
| `int` | The theme resource ID of the theme to use in this fragment, or -1 to use the host Activity's theme. |

### onResume

```
public void onResume()
```

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

### 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 #onCreate(Bundle), #onCreateView(LayoutInflater, ViewGroup, Bundle), and #onViewCreated(View, Bundle).

This corresponds to Activity#onSaveInstanceState(Bundle) Activity.onSaveInstanceState(Bundle) and most of the discussion there applies here as well. Note however: *this method may be called at any time before #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.

### onSubGuidedActionClicked

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

```
public boolean onSubGuidedActionClicked(@NonNull GuidedAction action)
```

Callback invoked when an action in sub actions is taken by the user. Subclasses should override in order to act on the user's decisions. Default return value is true to close the sub actions list.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/widget/GuidedAction action` | The chosen action. |

| Returns |
|---|---|
| `boolean` | true to collapse the sub actions list, false to keep it expanded. |

### openInEditMode

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

```
public void openInEditMode(@Nullable GuidedAction action)
```

Opens the provided action in edit mode and raises ime. This can be used to programmatically skip the extra click required to go into edit mode. This method can be invoked in `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#onCreateView(android.view.LayoutInflater,android.view.ViewGroup,android.os.Bundle)`.

### popBackStackToGuidedStepSupportFragment

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

```
public void popBackStackToGuidedStepSupportFragment(
    @NonNull Class<@NonNull ?> guidedStepFragmentClass,
    int flags
)
```

Convenient method to pop to fragment with Given class.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/Class.html<@https://developer.android.com/reference/androidx/annotation/NonNull ?> guidedStepFragmentClass` | Name of the Class of GuidedStepSupportFragment to pop to. |
| `int flags` | Either 0 or `https://developer.android.com/reference/androidx/fragment/app/FragmentManager#POP_BACK_STACK_INCLUSIVE()`. |

### setActions

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

```
public void setActions(@NonNull List<GuidedAction> actions)
```

Sets the list of GuidedActions that the user may take in this fragment. Uses DiffCallback set by `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#setActionsDiffCallback(androidx.leanback.widget.DiffCallback<androidx.leanback.widget.GuidedAction>)`.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/util/List.html<https://developer.android.com/reference/androidx/leanback/widget/GuidedAction> actions` | The list of GuidedActions for this fragment. |

### setActionsDiffCallback

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

```
public void setActionsDiffCallback(
    @Nullable DiffCallback<GuidedAction> diffCallback
)
```

Sets the RecyclerView DiffCallback used when `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#setActions(java.util.List<androidx.leanback.widget.GuidedAction>)` is called. By default GuidedStepSupportFragment uses `https://developer.android.com/reference/androidx/leanback/widget/GuidedActionDiffCallback`. Sets it to null if app wants to refresh the whole list.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/androidx/leanback/widget/DiffCallback<https://developer.android.com/reference/androidx/leanback/widget/GuidedAction> diffCallback` | DiffCallback used in `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#setActions(java.util.List<androidx.leanback.widget.GuidedAction>)`. |

### setButtonActions

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

```
public void setButtonActions(@NonNull List<GuidedAction> actions)
```

Sets the list of button GuidedActions that the user may take in this fragment.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/util/List.html<https://developer.android.com/reference/androidx/leanback/widget/GuidedAction> actions` | The list of button GuidedActions for this fragment. |

### setSelectedActionPosition

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

```
public void setSelectedActionPosition(int position)
```

Scrolls the action list to the position indicated, selecting that action's view.

| Parameters |
|---|---|
| `int position` | The integer position of the action of interest. |

### setSelectedButtonActionPosition

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

```
public void setSelectedButtonActionPosition(int position)
```

Scrolls the action list to the position indicated, selecting that button action's view.

| Parameters |
|---|---|
| `int position` | The integer position of the button action of interest. |

### setUiStyle

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

```
public void setUiStyle(int style)
```

Set UI style to fragment arguments. Default value is `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#UI_STYLE_ENTRANCE()` when fragment is first initialized. UI style is used to choose different fragment transition animations and determine if this is the first GuidedStepSupportFragment on backstack. In most cases app does not directly call this method, app calls helper function `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#add(androidx.fragment.app.FragmentManager,androidx.leanback.app.GuidedStepSupportFragment,int)`. However if the app creates Fragment transaction and controls backstack by itself, it would need call setUiStyle() to select the fragment transition to use.

| Parameters |
|---|---|
| `int style` | `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#UI_STYLE_ACTIVITY_ROOT()``https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#UI_STYLE_REPLACE()` or `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#UI_STYLE_ENTRANCE()`. |

## Protected methods

### onAddSharedElementTransition

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

```
protected void onAddSharedElementTransition(
    @NonNull FragmentTransaction ft,
    @NonNull GuidedStepSupportFragment disappearing
)
```

Called when this fragment is added to FragmentTransaction with `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#UI_STYLE_REPLACE()` (aka when the GuidedStepSupportFragment replacing an existing GuidedStepSupportFragment). Default implementation establishes connections between action background views to morph action background bounds change from disappearing GuidedStepSupportFragment into this GuidedStepSupportFragment. The default implementation heavily relies on `https://developer.android.com/reference/androidx/leanback/widget/GuidedActionsStylist`'s layout, app may override this method when modifying the default layout of `https://developer.android.com/reference/androidx/leanback/widget/GuidedActionsStylist`.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/fragment/app/FragmentTransaction ft` | The FragmentTransaction to add shared element. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment disappearing` | The disappearing fragment. |

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/leanback/widget/GuidedActionsStylist` |   |
| `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#onProvideFragmentTransitions()` |   |

### onProvideFragmentTransitions

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

```
protected void onProvideFragmentTransitions()
```

Called by Constructor to provide fragment transitions. The default implementation assigns transitions based on `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#getUiStyle()`:

- `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#UI_STYLE_REPLACE()` Slide from/to end(right) for enter transition, slide from/to start(left) for exit transition, shared element enter transition is set to ChangeBounds.
- `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#UI_STYLE_ENTRANCE()` Enter transition is set to slide from both sides, exit transition is same as `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#UI_STYLE_REPLACE()`, no shared element enter transition.
- `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#UI_STYLE_ACTIVITY_ROOT()` Enter transition is set to null and app should rely on activity transition, exit transition is same as `https://developer.android.com/reference/androidx/leanback/app/GuidedStepSupportFragment#UI_STYLE_REPLACE()`, no shared element enter transition.

The default implementation heavily relies on `https://developer.android.com/reference/androidx/leanback/widget/GuidedActionsStylist` and `https://developer.android.com/reference/androidx/leanback/widget/GuidanceStylist` layout, app may override this method when modifying the default layout of `https://developer.android.com/reference/androidx/leanback/widget/GuidedActionsStylist` or `https://developer.android.com/reference/androidx/leanback/widget/GuidanceStylist`.

TIP: because the fragment view is removed during fragment transition, in general app cannot use two Visibility transition together. Workaround is to create your own Visibility transition that controls multiple animators (e.g. slide and fade animation in one Transition class).