# ImeKeyMonitor

# ImeKeyMonitor

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

*** ** * ** ***

Kotlin \|[Java](https://developer.android.com/reference/androidx/leanback/widget/ImeKeyMonitor "View this page in Java")


```
interface ImeKeyMonitor
```

<br />

Known direct subclasses  
[GuidedActionAppCompatEditText](https://developer.android.com/reference/kotlin/androidx/leanback/widget/GuidedActionAppCompatEditText), [GuidedActionEditText](https://developer.android.com/reference/kotlin/androidx/leanback/widget/GuidedActionEditText)  

|----------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------|
| [GuidedActionAppCompatEditText](https://developer.android.com/reference/kotlin/androidx/leanback/widget/GuidedActionAppCompatEditText) | A custom EditText that satisfies the IME key monitoring requirements of GuidedStepFragment. |
| [GuidedActionEditText](https://developer.android.com/reference/kotlin/androidx/leanback/widget/GuidedActionEditText)                   | A custom EditText that satisfies the IME key monitoring requirements of GuidedStepFragment. |

*** ** * ** ***

Interface for an EditText subclass that can delegate calls to onKeyPreIme up to a registered listener.

Used in editable actions within [androidx.leanback.app.GuidedStepFragment](https://developer.android.com/reference/kotlin/androidx/leanback/app/GuidedStepFragment) to allow for custom back key handling. Specifically, this is used to implement the behavior that dismissing the IME also clears edit text focus. Clients who need to supply custom layouts for [GuidedActionsStylist](https://developer.android.com/reference/kotlin/androidx/leanback/widget/GuidedActionsStylist) with their own EditText classes should satisfy this interface in order to inherit this behavior.

## Summary

|                                                                                                       ### Nested types                                                                                                       |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `interface `[ImeKeyMonitor.ImeKeyListener](https://developer.android.com/reference/kotlin/androidx/leanback/widget/ImeKeyMonitor.ImeKeyListener) Listener interface for key events intercepted pre-IME by edit text objects. |

|                             ### Public functions                              |
|-------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html) | [setImeKeyListener](https://developer.android.com/reference/kotlin/androidx/leanback/widget/ImeKeyMonitor#setImeKeyListener(androidx.leanback.widget.ImeKeyMonitor.ImeKeyListener))`(listener: `[ImeKeyMonitor.ImeKeyListener](https://developer.android.com/reference/kotlin/androidx/leanback/widget/ImeKeyMonitor.ImeKeyListener)`!)` Set the listener for this edit text object. |

## Public functions

### setImeKeyListener

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

```
fun setImeKeyListener(listener: ImeKeyMonitor.ImeKeyListener!): Unit
```

Set the listener for this edit text object. The listener's onKeyPreIme method will be invoked from the host edit text's onKeyPreIme method.