Stay organized with collections
Save and categorize content based on your preferences.
Callback
interface Callback
Callback interface for action modes. Supplied to View.startActionMode(Callback)
, a Callback configures and handles events raised by a user's interaction with an action mode.
An action mode's lifecycle is as follows:
Summary
Public methods |
abstract Boolean |
Called to report a user click on an action button.
|
abstract Boolean |
Called when action mode is first created.
|
abstract Unit |
Called when an action mode is about to be exited and destroyed.
|
abstract Boolean |
Called to refresh an action mode's action menu whenever it is invalidated.
|
Public methods
onActionItemClicked
abstract fun onActionItemClicked(
mode: ActionMode!,
item: MenuItem!
): Boolean
Called to report a user click on an action button.
Parameters |
mode |
ActionMode!: The current ActionMode |
item |
MenuItem!: The item that was clicked |
Return |
Boolean |
true if this callback handled the event, false if the standard MenuItem invocation should continue. |
onCreateActionMode
abstract fun onCreateActionMode(
mode: ActionMode!,
menu: Menu!
): Boolean
Called when action mode is first created. The menu supplied will be used to generate action buttons for the action mode.
Parameters |
mode |
ActionMode!: ActionMode being created |
menu |
Menu!: Menu used to populate action buttons |
Return |
Boolean |
true if the action mode should be created, false if entering this mode should be aborted. |
onDestroyActionMode
abstract fun onDestroyActionMode(mode: ActionMode!): Unit
Called when an action mode is about to be exited and destroyed.
Parameters |
mode |
ActionMode!: The current ActionMode being destroyed |
onPrepareActionMode
abstract fun onPrepareActionMode(
mode: ActionMode!,
menu: Menu!
): Boolean
Called to refresh an action mode's action menu whenever it is invalidated.
Parameters |
mode |
ActionMode!: ActionMode being prepared |
menu |
Menu!: Menu used to populate action buttons |
Return |
Boolean |
true if the menu or action mode was updated, false otherwise. |
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-02-10 UTC.
[null,null,["Last updated 2025-02-10 UTC."],[],[],null,["# ActionMode.Callback\n\nAdded in [API level 11](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)\n\nCallback\n========\n\n*** ** * ** ***\n\nKotlin \\|[Java](/reference/android/view/ActionMode.Callback \"View this page in Java\") \n\n```\ninterface Callback\n```\n\n|---------------------------------------|\n| [android.view.ActionMode.Callback](#) |\n\n|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Known Direct Subclasses [AbsListView.MultiChoiceModeListener](../widget/AbsListView.MultiChoiceModeListener.html#), [ActionMode.Callback2](/reference/kotlin/android/view/ActionMode.Callback2) |--------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------| | [AbsListView.MultiChoiceModeListener](../widget/AbsListView.MultiChoiceModeListener.html#) | A MultiChoiceModeListener receives events for [AbsListView.CHOICE_MODE_MULTIPLE_MODAL](../widget/AbsListView.html#CHOICE_MODE_MULTIPLE_MODAL:kotlin.Int). | | [ActionMode.Callback2](/reference/kotlin/android/view/ActionMode.Callback2) | Extension of [ActionMode.Callback](#) to provide content rect information. | |\n\nCallback interface for action modes. Supplied to [View.startActionMode(Callback)](/reference/kotlin/android/view/View#startActionMode(android.view.ActionMode.Callback)), a Callback configures and handles events raised by a user's interaction with an action mode.\n\nAn action mode's lifecycle is as follows:\n\n- [Callback.onCreateActionMode(ActionMode, Menu)](#onCreateActionMode(android.view.ActionMode,%20android.view.Menu)) once on initial creation\n- [Callback.onPrepareActionMode(ActionMode, Menu)](#onPrepareActionMode(android.view.ActionMode,%20android.view.Menu)) after creation and any time the [ActionMode](/reference/kotlin/android/view/ActionMode) is invalidated\n- [Callback.onActionItemClicked(ActionMode, MenuItem)](#onActionItemClicked(android.view.ActionMode,%20android.view.MenuItem)) any time a contextual action button is clicked\n- [Callback.onDestroyActionMode(ActionMode)](#onDestroyActionMode(android.view.ActionMode)) when the action mode is closed\n\nSummary\n-------\n\n| Public methods ||\n|---------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| abstract [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [onActionItemClicked](#onActionItemClicked(android.view.ActionMode,%20android.view.MenuItem))`(`mode:` `[ActionMode](/reference/kotlin/android/view/ActionMode)!`, `item:` `[MenuItem](/reference/kotlin/android/view/MenuItem)!`)` Called to report a user click on an action button. |\n| abstract [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [onCreateActionMode](#onCreateActionMode(android.view.ActionMode,%20android.view.Menu))`(`mode:` `[ActionMode](/reference/kotlin/android/view/ActionMode)!`, `menu:` `[Menu](/reference/kotlin/android/view/Menu)!`)` Called when action mode is first created. |\n| abstract [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [onDestroyActionMode](#onDestroyActionMode(android.view.ActionMode))`(`mode:` `[ActionMode](/reference/kotlin/android/view/ActionMode)!`)` Called when an action mode is about to be exited and destroyed. |\n| abstract [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [onPrepareActionMode](#onPrepareActionMode(android.view.ActionMode,%20android.view.Menu))`(`mode:` `[ActionMode](/reference/kotlin/android/view/ActionMode)!`, `menu:` `[Menu](/reference/kotlin/android/view/Menu)!`)` Called to refresh an action mode's action menu whenever it is invalidated. |\n\nPublic methods\n--------------\n\n### onActionItemClicked\n\nAdded in [API level 11](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels) \n\n```\nabstract fun onActionItemClicked(\n mode: ActionMode!, \n item: MenuItem!\n): Boolean\n```\n\nCalled to report a user click on an action button.\n\n| Parameters ||\n|--------|----------------------------------------------------------------------------------|\n| `mode` | [ActionMode](/reference/kotlin/android/view/ActionMode)!: The current ActionMode |\n| `item` | [MenuItem](/reference/kotlin/android/view/MenuItem)!: The item that was clicked |\n\n| Return ||\n|------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------|\n| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | true if this callback handled the event, false if the standard MenuItem invocation should continue. |\n\n### onCreateActionMode\n\nAdded in [API level 11](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels) \n\n```\nabstract fun onCreateActionMode(\n mode: ActionMode!, \n menu: Menu!\n): Boolean\n```\n\nCalled when action mode is first created. The menu supplied will be used to generate action buttons for the action mode.\n\n| Parameters ||\n|--------|------------------------------------------------------------------------------------|\n| `mode` | [ActionMode](/reference/kotlin/android/view/ActionMode)!: ActionMode being created |\n| `menu` | [Menu](/reference/kotlin/android/view/Menu)!: Menu used to populate action buttons |\n\n| Return ||\n|------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------|\n| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | true if the action mode should be created, false if entering this mode should be aborted. |\n\n### onDestroyActionMode\n\nAdded in [API level 11](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels) \n\n```\nabstract fun onDestroyActionMode(mode: ActionMode!): Unit\n```\n\nCalled when an action mode is about to be exited and destroyed.\n\n| Parameters ||\n|--------|--------------------------------------------------------------------------------------------------|\n| `mode` | [ActionMode](/reference/kotlin/android/view/ActionMode)!: The current ActionMode being destroyed |\n\n### onPrepareActionMode\n\nAdded in [API level 11](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels) \n\n```\nabstract fun onPrepareActionMode(\n mode: ActionMode!, \n menu: Menu!\n): Boolean\n```\n\nCalled to refresh an action mode's action menu whenever it is invalidated.\n\n| Parameters ||\n|--------|-------------------------------------------------------------------------------------|\n| `mode` | [ActionMode](/reference/kotlin/android/view/ActionMode)!: ActionMode being prepared |\n| `menu` | [Menu](/reference/kotlin/android/view/Menu)!: Menu used to populate action buttons |\n\n| Return ||\n|------------------------------------------------------------------------------------|---------------------------------------------------------------|\n| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | true if the menu or action mode was updated, false otherwise. |"]]