# AppCompatDialog

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

*** ** * ** ***


```
public class AppCompatDialog extends ComponentDialog implements AppCompatCallback
```

<br />

|---|---|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object.html) ||||
| ↳ | [android.app.Dialog](https://developer.android.com/reference/android/app/Dialog.html) |||
|   | ↳ | [androidx.activity.ComponentDialog](https://developer.android.com/reference/androidx/activity/ComponentDialog) ||
|   |   | ↳ | [androidx.appcompat.app.AppCompatDialog](https://developer.android.com/reference/androidx/appcompat/app/AppCompatDialog) |

Known direct subclasses [AlertDialog](https://developer.android.com/reference/androidx/appcompat/app/AlertDialog), [MediaRouteChooserDialog](https://developer.android.com/reference/androidx/mediarouter/app/MediaRouteChooserDialog)

|---|---|
| `https://developer.android.com/reference/androidx/appcompat/app/AlertDialog` | A subclass of Dialog that can display one, two or three buttons. |
| `https://developer.android.com/reference/androidx/mediarouter/app/MediaRouteChooserDialog` | This class implements the route chooser dialog for `https://developer.android.com/reference/androidx/mediarouter/media/MediaRouter`. |

Known indirect subclasses [MediaRouteControllerDialog](https://developer.android.com/reference/androidx/mediarouter/app/MediaRouteControllerDialog)

|---|---|
| `https://developer.android.com/reference/androidx/mediarouter/app/MediaRouteControllerDialog` | This class implements the route controller dialog for `https://developer.android.com/reference/androidx/mediarouter/media/MediaRouter`. |

*** ** * ** ***

Base class for AppCompat themed `https://developer.android.com/reference/android/app/Dialog.html`s.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/appcompat/app/AppCompatDialog#AppCompatDialog(android.content.Context)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/content/Context.html context)` |
| `https://developer.android.com/reference/androidx/appcompat/app/AppCompatDialog#AppCompatDialog(android.content.Context,int)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/content/Context.html context, int theme)` |

| ### Protected constructors |
|---|
| `https://developer.android.com/reference/androidx/appcompat/app/AppCompatDialog#AppCompatDialog(android.content.Context,boolean,android.content.DialogInterface.OnCancelListener)( @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/content/Context.html context, boolean cancelable, @https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/content/DialogInterface.OnCancelListener.html cancelListener )` |

| ### Public methods |
|---|---|
| `void` | `https://developer.android.com/reference/androidx/appcompat/app/AppCompatDialog#addContentView(android.view.View,android.view.ViewGroup.LayoutParams)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/view/View.html view, https://developer.android.com/reference/android/view/ViewGroup.LayoutParams.html params)` |
| `void` | `https://developer.android.com/reference/androidx/appcompat/app/AppCompatDialog#dismiss()()` |
| `boolean` | `https://developer.android.com/reference/androidx/appcompat/app/AppCompatDialog#dispatchKeyEvent(android.view.KeyEvent)(https://developer.android.com/reference/android/view/KeyEvent.html event)` |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html T` | `<T extends https://developer.android.com/reference/android/view/View.html> https://developer.android.com/reference/androidx/appcompat/app/AppCompatDialog#findViewById(int)(@https://developer.android.com/reference/androidx/annotation/IdRes int id)` |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/appcompat/app/AppCompatDelegate` | `https://developer.android.com/reference/androidx/appcompat/app/AppCompatDialog#getDelegate()()` |
| `https://developer.android.com/reference/androidx/appcompat/app/ActionBar` | `https://developer.android.com/reference/androidx/appcompat/app/AppCompatDialog#getSupportActionBar()()` Support library version of `https://developer.android.com/reference/android/app/Dialog.html#getActionBar()`. |
| `void` | `https://developer.android.com/reference/androidx/appcompat/app/AppCompatDialog#onSupportActionModeFinished(androidx.appcompat.view.ActionMode)(https://developer.android.com/reference/androidx/appcompat/view/ActionMode mode)` Called when a support action mode has finished. |
| `void` | `https://developer.android.com/reference/androidx/appcompat/app/AppCompatDialog#onSupportActionModeStarted(androidx.appcompat.view.ActionMode)(https://developer.android.com/reference/androidx/appcompat/view/ActionMode mode)` Called when a support action mode has been started. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/androidx/appcompat/view/ActionMode` | `https://developer.android.com/reference/androidx/appcompat/app/AppCompatDialog#onWindowStartingSupportActionMode(androidx.appcompat.view.ActionMode.Callback)(https://developer.android.com/reference/androidx/appcompat/view/ActionMode.Callback callback)` Called when a support action mode is being started for this window. |
| `void` | `https://developer.android.com/reference/androidx/appcompat/app/AppCompatDialog#setContentView(int)(@https://developer.android.com/reference/androidx/annotation/LayoutRes int layoutResID)` |
| `void` | `https://developer.android.com/reference/androidx/appcompat/app/AppCompatDialog#setContentView(android.view.View)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/view/View.html view)` |
| `void` | `https://developer.android.com/reference/androidx/appcompat/app/AppCompatDialog#setContentView(android.view.View,android.view.ViewGroup.LayoutParams)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/view/View.html view, https://developer.android.com/reference/android/view/ViewGroup.LayoutParams.html params)` |
| `void` | `https://developer.android.com/reference/androidx/appcompat/app/AppCompatDialog#setTitle(java.lang.CharSequence)(https://developer.android.com/reference/java/lang/CharSequence.html title)` |
| `void` | `https://developer.android.com/reference/androidx/appcompat/app/AppCompatDialog#setTitle(int)(int titleId)` |
| `boolean` | `https://developer.android.com/reference/androidx/appcompat/app/AppCompatDialog#supportRequestWindowFeature(int)(int featureId)` Enable extended support library window features. |

| ### Protected methods |
|---|---|
| `void` | `https://developer.android.com/reference/androidx/appcompat/app/AppCompatDialog#onCreate(android.os.Bundle)(https://developer.android.com/reference/android/os/Bundle.html savedInstanceState)` |
| `void` | `https://developer.android.com/reference/androidx/appcompat/app/AppCompatDialog#onStop()()` |

### Inherited Constants

From [android.content.DialogInterface](https://developer.android.com/reference/android/content/DialogInterface.html) `static final int` `https://developer.android.com/reference/android/content/DialogInterface.html#BUTTON1 = -1`

**This field is deprecated.**
`static final int` `https://developer.android.com/reference/android/content/DialogInterface.html#BUTTON2 = -2`

**This field is deprecated.**
`static final int` `https://developer.android.com/reference/android/content/DialogInterface.html#BUTTON3 = -3`

**This field is deprecated.**
`static final int` `https://developer.android.com/reference/android/content/DialogInterface.html#BUTTON_NEGATIVE = -2` `static final int` `https://developer.android.com/reference/android/content/DialogInterface.html#BUTTON_NEUTRAL = -3` `static final int` `https://developer.android.com/reference/android/content/DialogInterface.html#BUTTON_POSITIVE = -1`

### Inherited methods

From [androidx.activity.ComponentDialog](https://developer.android.com/reference/androidx/activity/ComponentDialog) `https://developer.android.com/reference/androidx/lifecycle/Lifecycle` `https://developer.android.com/reference/androidx/activity/ComponentDialog#getLifecycle()()`

The `https://developer.android.com/reference/androidx/lifecycle/Lifecycle` of this owner.
`https://developer.android.com/reference/androidx/navigationevent/NavigationEventDispatcher` `https://developer.android.com/reference/androidx/activity/ComponentDialog#getNavigationEventDispatcher()()`

Lazily provides a `https://developer.android.com/reference/androidx/navigationevent/NavigationEventDispatcher` for back navigation handling, including support for predictive back gestures introduced in Android 13 (API 33+).
`final https://developer.android.com/reference/androidx/activity/OnBackPressedDispatcher` `https://developer.android.com/reference/androidx/activity/ComponentDialog#getOnBackPressedDispatcher()()`

Retrieve the `https://developer.android.com/reference/androidx/activity/OnBackPressedDispatcher` that will be triggered when `https://developer.android.com/reference/androidx/activity/ComponentDialog#onBackPressed()` is called.
`https://developer.android.com/reference/androidx/savedstate/SavedStateRegistry` `https://developer.android.com/reference/androidx/activity/ComponentDialog#getSavedStateRegistry()()`

The `https://developer.android.com/reference/androidx/savedstate/SavedStateRegistry` owned by this `https://developer.android.com/reference/androidx/savedstate/SavedStateRegistryOwner`.
`void` `https://developer.android.com/reference/androidx/activity/ComponentDialog#initializeViewTreeOwners()()`

Sets the view tree owners before setting the content view so that the inflation process and attach listeners will see them already present.
`void` `https://developer.android.com/reference/androidx/activity/ComponentDialog#onBackPressed()()`

**This method is deprecated.**
`https://developer.android.com/reference/android/os/Bundle.html` `https://developer.android.com/reference/androidx/activity/ComponentDialog#onSaveInstanceState()()` `void` `https://developer.android.com/reference/androidx/activity/ComponentDialog#onStart()()` From [android.app.Dialog](https://developer.android.com/reference/android/app/Dialog.html) `void` `https://developer.android.com/reference/android/app/Dialog.html#addContentView(android.view.View, android.view.ViewGroup.LayoutParams)(https://developer.android.com/reference/android/view/View.html view, https://developer.android.com/reference/android/view/ViewGroup.LayoutParams.html params)` `void` `https://developer.android.com/reference/android/app/Dialog.html#cancel()()` `void` `https://developer.android.com/reference/android/app/Dialog.html#closeOptionsMenu()()` `void` `https://developer.android.com/reference/android/app/Dialog.html#create()()` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#dispatchGenericMotionEvent(android.view.MotionEvent)(https://developer.android.com/reference/android/view/MotionEvent.html ev)` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#dispatchKeyShortcutEvent(android.view.KeyEvent)(https://developer.android.com/reference/android/view/KeyEvent.html event)` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#dispatchPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent)(https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent.html event)` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#dispatchTouchEvent(android.view.MotionEvent)(https://developer.android.com/reference/android/view/MotionEvent.html ev)` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#dispatchTrackballEvent(android.view.MotionEvent)(https://developer.android.com/reference/android/view/MotionEvent.html ev)` `https://developer.android.com/reference/android/app/ActionBar.html` `https://developer.android.com/reference/android/app/Dialog.html#getActionBar()()` `final https://developer.android.com/reference/android/content/Context.html` `https://developer.android.com/reference/android/app/Dialog.html#getContext()()` `https://developer.android.com/reference/android/view/View.html` `https://developer.android.com/reference/android/app/Dialog.html#getCurrentFocus()()` `https://developer.android.com/reference/android/view/LayoutInflater.html` `https://developer.android.com/reference/android/app/Dialog.html#getLayoutInflater()()` `https://developer.android.com/reference/android/window/OnBackInvokedDispatcher.html` `https://developer.android.com/reference/android/app/Dialog.html#getOnBackInvokedDispatcher()()` `final https://developer.android.com/reference/android/app/Activity.html` `https://developer.android.com/reference/android/app/Dialog.html#getOwnerActivity()()` `final https://developer.android.com/reference/android/view/SearchEvent.html` `https://developer.android.com/reference/android/app/Dialog.html#getSearchEvent()()` `final int` `https://developer.android.com/reference/android/app/Dialog.html#getVolumeControlStream()()` `https://developer.android.com/reference/android/view/Window.html` `https://developer.android.com/reference/android/app/Dialog.html#getWindow()()` `void` `https://developer.android.com/reference/android/app/Dialog.html#hide()()` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#isShowing()()` `void` `https://developer.android.com/reference/android/app/Dialog.html#onActionModeFinished(android.view.ActionMode)(https://developer.android.com/reference/android/view/ActionMode.html mode)` `void` `https://developer.android.com/reference/android/app/Dialog.html#onActionModeStarted(android.view.ActionMode)(https://developer.android.com/reference/android/view/ActionMode.html mode)` `void` `https://developer.android.com/reference/android/app/Dialog.html#onAttachedToWindow()()` `void` `https://developer.android.com/reference/android/app/Dialog.html#onBackPressed()()`

**This method is deprecated.**
`void` `https://developer.android.com/reference/android/app/Dialog.html#onContentChanged()()` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#onContextItemSelected(android.view.MenuItem)(https://developer.android.com/reference/android/view/MenuItem.html item)` `void` `https://developer.android.com/reference/android/app/Dialog.html#onContextMenuClosed(android.view.Menu)(https://developer.android.com/reference/android/view/Menu.html menu)` `void` `https://developer.android.com/reference/android/app/Dialog.html#onCreate(android.os.Bundle)(https://developer.android.com/reference/android/os/Bundle.html savedInstanceState)` `void` `https://developer.android.com/reference/android/app/Dialog.html#onCreateContextMenu(android.view.ContextMenu, android.view.View, android.view.ContextMenu.ContextMenuInfo)(
https://developer.android.com/reference/android/view/ContextMenu.html menu,
https://developer.android.com/reference/android/view/View.html v,
https://developer.android.com/reference/android/view/ContextMenu.ContextMenuInfo.html menuInfo
)` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#onCreateOptionsMenu(android.view.Menu)(https://developer.android.com/reference/android/view/Menu.html menu)` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#onCreatePanelMenu(int, android.view.Menu)(int featureId, https://developer.android.com/reference/android/view/Menu.html menu)` `https://developer.android.com/reference/android/view/View.html` `https://developer.android.com/reference/android/app/Dialog.html#onCreatePanelView(int)(int featureId)` `void` `https://developer.android.com/reference/android/app/Dialog.html#onDetachedFromWindow()()` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#onGenericMotionEvent(android.view.MotionEvent)(https://developer.android.com/reference/android/view/MotionEvent.html event)` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#onKeyDown(int, android.view.KeyEvent)(int keyCode, https://developer.android.com/reference/android/view/KeyEvent.html event)` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#onKeyLongPress(int, android.view.KeyEvent)(int keyCode, https://developer.android.com/reference/android/view/KeyEvent.html event)` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#onKeyMultiple(int, int, android.view.KeyEvent)(int keyCode, int repeatCount, https://developer.android.com/reference/android/view/KeyEvent.html event)` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#onKeyShortcut(int, android.view.KeyEvent)(int keyCode, https://developer.android.com/reference/android/view/KeyEvent.html event)` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#onKeyUp(int, android.view.KeyEvent)(int keyCode, https://developer.android.com/reference/android/view/KeyEvent.html event)` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#onMenuItemSelected(int, android.view.MenuItem)(int featureId, https://developer.android.com/reference/android/view/MenuItem.html item)` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#onMenuOpened(int, android.view.Menu)(int featureId, https://developer.android.com/reference/android/view/Menu.html menu)` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#onOptionsItemSelected(android.view.MenuItem)(https://developer.android.com/reference/android/view/MenuItem.html item)` `void` `https://developer.android.com/reference/android/app/Dialog.html#onOptionsMenuClosed(android.view.Menu)(https://developer.android.com/reference/android/view/Menu.html menu)` `void` `https://developer.android.com/reference/android/app/Dialog.html#onPanelClosed(int, android.view.Menu)(int featureId, https://developer.android.com/reference/android/view/Menu.html menu)` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#onPrepareOptionsMenu(android.view.Menu)(https://developer.android.com/reference/android/view/Menu.html menu)` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#onPreparePanel(int, android.view.View, android.view.Menu)(int featureId, https://developer.android.com/reference/android/view/View.html view, https://developer.android.com/reference/android/view/Menu.html menu)` `void` `https://developer.android.com/reference/android/app/Dialog.html#onRestoreInstanceState(android.os.Bundle)(https://developer.android.com/reference/android/os/Bundle.html savedInstanceState)` `https://developer.android.com/reference/android/os/Bundle.html` `https://developer.android.com/reference/android/app/Dialog.html#onSaveInstanceState()()` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#onSearchRequested()()` `void` `https://developer.android.com/reference/android/app/Dialog.html#onStart()()` `void` `https://developer.android.com/reference/android/app/Dialog.html#onStop()()` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#onTouchEvent(android.view.MotionEvent)(https://developer.android.com/reference/android/view/MotionEvent.html event)` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#onTrackballEvent(android.view.MotionEvent)(https://developer.android.com/reference/android/view/MotionEvent.html event)` `void` `https://developer.android.com/reference/android/app/Dialog.html#onWindowAttributesChanged(android.view.WindowManager.LayoutParams)(https://developer.android.com/reference/android/view/WindowManager.LayoutParams.html params)` `void` `https://developer.android.com/reference/android/app/Dialog.html#onWindowFocusChanged(boolean)(boolean hasFocus)` `https://developer.android.com/reference/android/view/ActionMode.html` `https://developer.android.com/reference/android/app/Dialog.html#onWindowStartingActionMode(android.view.ActionMode.Callback)(https://developer.android.com/reference/android/view/ActionMode.Callback.html callback)` `void` `https://developer.android.com/reference/android/app/Dialog.html#openContextMenu(android.view.View)(https://developer.android.com/reference/android/view/View.html view)` `void` `https://developer.android.com/reference/android/app/Dialog.html#openOptionsMenu()()` `void` `https://developer.android.com/reference/android/app/Dialog.html#registerForContextMenu(android.view.View)(https://developer.android.com/reference/android/view/View.html view)` `final boolean` `https://developer.android.com/reference/android/app/Dialog.html#requestWindowFeature(int)(int featureId)` `final T` `<T extends https://developer.android.com/reference/android/view/View.html> https://developer.android.com/reference/android/app/Dialog.html#requireViewById(int)(int id)` `void` `https://developer.android.com/reference/android/app/Dialog.html#setCancelMessage(android.os.Message)(https://developer.android.com/reference/android/os/Message.html msg)` `void` `https://developer.android.com/reference/android/app/Dialog.html#setCancelable(boolean)(boolean flag)` `void` `https://developer.android.com/reference/android/app/Dialog.html#setCanceledOnTouchOutside(boolean)(boolean cancel)` `void` `https://developer.android.com/reference/android/app/Dialog.html#setContentView(android.view.View)(https://developer.android.com/reference/android/view/View.html view)` `void` `https://developer.android.com/reference/android/app/Dialog.html#setDismissMessage(android.os.Message)(https://developer.android.com/reference/android/os/Message.html msg)` `final void` `https://developer.android.com/reference/android/app/Dialog.html#setFeatureDrawable(int, android.graphics.drawable.Drawable)(int featureId, https://developer.android.com/reference/android/graphics/drawable/Drawable.html drawable)` `final void` `https://developer.android.com/reference/android/app/Dialog.html#setFeatureDrawableAlpha(int, int)(int featureId, int alpha)` `final void` `https://developer.android.com/reference/android/app/Dialog.html#setFeatureDrawableResource(int, int)(int featureId, int resId)` `final void` `https://developer.android.com/reference/android/app/Dialog.html#setFeatureDrawableUri(int, android.net.Uri)(int featureId, https://developer.android.com/reference/android/net/Uri.html uri)` `void` `https://developer.android.com/reference/android/app/Dialog.html#setOnCancelListener(android.content.DialogInterface.OnCancelListener)(https://developer.android.com/reference/android/content/DialogInterface.OnCancelListener.html listener)` `void` `https://developer.android.com/reference/android/app/Dialog.html#setOnDismissListener(android.content.DialogInterface.OnDismissListener)(https://developer.android.com/reference/android/content/DialogInterface.OnDismissListener.html listener)` `void` `https://developer.android.com/reference/android/app/Dialog.html#setOnKeyListener(android.content.DialogInterface.OnKeyListener)(https://developer.android.com/reference/android/content/DialogInterface.OnKeyListener.html onKeyListener)` `void` `https://developer.android.com/reference/android/app/Dialog.html#setOnShowListener(android.content.DialogInterface.OnShowListener)(https://developer.android.com/reference/android/content/DialogInterface.OnShowListener.html listener)` `final void` `https://developer.android.com/reference/android/app/Dialog.html#setOwnerActivity(android.app.Activity)(https://developer.android.com/reference/android/app/Activity.html activity)` `final void` `https://developer.android.com/reference/android/app/Dialog.html#setVolumeControlStream(int)(int streamType)` `void` `https://developer.android.com/reference/android/app/Dialog.html#show()()` `void` `https://developer.android.com/reference/android/app/Dialog.html#takeKeyEvents(boolean)(boolean get)` `void` `https://developer.android.com/reference/android/app/Dialog.html#unregisterForContextMenu(android.view.View)(https://developer.android.com/reference/android/view/View.html view)` 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.navigationevent.NavigationEventDispatcherOwner](https://developer.android.com/reference/androidx/navigationevent/NavigationEventDispatcherOwner) `abstract https://developer.android.com/reference/androidx/navigationevent/NavigationEventDispatcher` `https://developer.android.com/reference/androidx/navigationevent/NavigationEventDispatcherOwner#getNavigationEventDispatcher()()`

The `https://developer.android.com/reference/androidx/navigationevent/NavigationEventDispatcher` that should handle the navigation events.
From [androidx.activity.OnBackPressedDispatcherOwner](https://developer.android.com/reference/androidx/activity/OnBackPressedDispatcherOwner) `abstract https://developer.android.com/reference/androidx/activity/OnBackPressedDispatcher` `https://developer.android.com/reference/androidx/activity/OnBackPressedDispatcherOwner#getOnBackPressedDispatcher()()`

The `https://developer.android.com/reference/androidx/activity/OnBackPressedDispatcher` that should handle the system back button.
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.Window.Callback](https://developer.android.com/reference/android/view/Window.Callback.html) `void` `https://developer.android.com/reference/android/view/Window.Callback.html#onPointerCaptureChanged(boolean)(boolean hasCapture)` `void` `https://developer.android.com/reference/android/view/Window.Callback.html#onProvideKeyboardShortcuts(java.util.List&lt;android.view.KeyboardShortcutGroup&gt;, android.view.Menu, int)(
https://developer.android.com/reference/java/util/List.html<https://developer.android.com/reference/android/view/KeyboardShortcutGroup.html> data,
https://developer.android.com/reference/android/view/Menu.html menu,
int deviceId
)`

## Public constructors

### AppCompatDialog

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

```
public AppCompatDialog(@NonNull Context context)
```

### AppCompatDialog

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

```
public AppCompatDialog(@NonNull Context context, int theme)
```

## Protected constructors

### AppCompatDialog

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

```
protected AppCompatDialog(
    @NonNull Context context,
    boolean cancelable,
    @Nullable DialogInterface.OnCancelListener cancelListener
)
```

## Public methods

### addContentView

```
public void addContentView(@NonNull View view, ViewGroup.LayoutParams params)
```

### dismiss

```
public void dismiss()
```

### dispatchKeyEvent

```
public boolean dispatchKeyEvent(KeyEvent event)
```

### findViewById

```
public @Nullable T <T extends View> findViewById(@IdRes int id)
```

### getDelegate

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

```
public @NonNull AppCompatDelegate getDelegate()
```

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/appcompat/app/AppCompatDelegate` | The `https://developer.android.com/reference/androidx/appcompat/app/AppCompatDelegate` being used by this Dialog. |

### getSupportActionBar

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

```
public ActionBar getSupportActionBar()
```

Support library version of `https://developer.android.com/reference/android/app/Dialog.html#getActionBar()`.

Retrieve a reference to this dialog's ActionBar.

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/appcompat/app/ActionBar` | The Dialog's ActionBar, or null if it does not have one. |

### onSupportActionModeFinished

```
public void onSupportActionModeFinished(ActionMode mode)
```

Called when a support action mode has finished.

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/appcompat/view/ActionMode mode` | The action mode that just finished. |

### onSupportActionModeStarted

```
public void onSupportActionModeStarted(ActionMode mode)
```

Called when a support action mode has been started.

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/appcompat/view/ActionMode mode` | The new action mode. |

### onWindowStartingSupportActionMode

```
public @Nullable ActionMode onWindowStartingSupportActionMode(ActionMode.Callback callback)
```

Called when a support action mode is being started for this window. Gives the callback an opportunity to handle the action mode in its own unique and beautiful way. If this method returns null the system can choose a way to present the mode or choose not to start the mode at all.

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/appcompat/view/ActionMode.Callback callback` | Callback to control the lifecycle of this action mode |

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/androidx/appcompat/view/ActionMode` | The ActionMode that was started, or null if the system should present it |

### setContentView

```
public void setContentView(@LayoutRes int layoutResID)
```

### setContentView

```
public void setContentView(@NonNull View view)
```

### setContentView

```
public void setContentView(@NonNull View view, ViewGroup.LayoutParams params)
```

### setTitle

```
public void setTitle(CharSequence title)
```

### setTitle

```
public void setTitle(int titleId)
```

### supportRequestWindowFeature

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

```
public boolean supportRequestWindowFeature(int featureId)
```

Enable extended support library window features.

This is a convenience for calling `https://developer.android.com/reference/android/view/Window.html#requestFeature(int)`.

| Parameters |
|---|---|
| `int featureId` | The desired feature as defined in `https://developer.android.com/reference/android/view/Window.html` or `https://developer.android.com/reference/androidx/core/view/WindowCompat`. |

| Returns |
|---|---|
| `boolean` | Returns true if the requested feature is supported and now enabled. |

| See also |
|---|---|
| `https://developer.android.com/reference/android/app/Dialog.html#requestWindowFeature(int)` |   |
| `https://developer.android.com/reference/android/view/Window.html#requestFeature(int)` |   |

## Protected methods

### onCreate

```
protected void onCreate(Bundle savedInstanceState)
```

### onStop

```
protected void onStop()
```