BaseKeyListener
abstract class BaseKeyListener : MetaKeyKeyListener, KeyListener
Known Indirect Subclasses
|
Abstract base class for key listeners. Provides a basic foundation for entering and editing text. Subclasses should override onKeyDown
and #onKeyUp to insert characters as keys are pressed.
As for all implementations of
KeyListener
, this class is only concerned with hardware keyboards. Software input methods have no obligation to trigger the methods in this class.
Summary
Inherited functions |
From class MetaKeyKeyListener
Unit |
adjustMetaAfterKeypress(content: Spannable!)
Call this method after you handle a keypress so that the meta state will be reset to unshifted (if it is not still down) or primed to be reset to unshifted (once it is released).
|
Long |
adjustMetaAfterKeypress(state: Long)
Call this method after you handle a keypress so that the meta state will be reset to unshifted (if it is not still down) or primed to be reset to unshifted (once it is released). Takes the current state, returns the new state.
|
Unit |
clearMetaKeyState(view: View!, content: Editable!, states: Int)
|
Long |
clearMetaKeyState(state: Long, which: Int)
Clears the state of the specified meta key if it is locked.
|
Unit |
clearMetaKeyState(content: Editable!, states: Int)
|
Int |
getMetaState(text: CharSequence!)
Gets the state of the meta keys.
|
Int |
getMetaState(text: CharSequence!, event: KeyEvent!)
Gets the state of the meta keys for a specific key event. For input devices that use toggled key modifiers, the `toggled' state is stored into the text buffer. This method retrieves the meta state for this event, accounting for the stored state. If the event has been created by a device that does not support toggled key modifiers, like a virtual device for example, the stored state is ignored.
|
Int |
getMetaState(text: CharSequence!, meta: Int)
Gets the state of a particular meta key.
|
Int |
getMetaState(text: CharSequence!, meta: Int, event: KeyEvent!)
Gets the state of a particular meta key to use with a particular key event. If the key event has been created by a device that does not support toggled key modifiers, like a virtual keyboard for example, only the meta state in the key event is considered.
|
Int |
getMetaState(state: Long)
Gets the state of the meta keys.
|
Int |
getMetaState(state: Long, meta: Int)
Gets the state of a particular meta key.
|
Long |
handleKeyDown(state: Long, keyCode: Int, event: KeyEvent!)
Handles presses of the meta keys.
|
Long |
handleKeyUp(state: Long, keyCode: Int, event: KeyEvent!)
Handles release of the meta keys.
|
Boolean |
isMetaTracker(text: CharSequence!, what: Any!)
Returns true if this object is one that this class would use to keep track of any meta state in the specified text.
|
Boolean |
isSelectingMetaTracker(text: CharSequence!, what: Any!)
Returns true if this object is one that this class would use to keep track of the selecting meta state in the specified text.
|
Boolean |
onKeyUp(view: View!, content: Editable!, keyCode: Int, event: KeyEvent!)
Handles release of the meta keys.
|
Unit |
resetLockedMeta(content: Spannable!)
Call this if you are a method that ignores the locked meta state (arrow keys, for example) and you handle a key.
|
Long |
resetLockedMeta(state: Long)
Call this if you are a method that ignores the locked meta state (arrow keys, for example) and you handle a key.
|
Unit |
resetMetaState(text: Spannable!)
Resets all meta state to inactive.
|
|
From class KeyListener
Int |
getInputType()
Return the type of text that this key listener is manipulating, as per android.text.InputType . This is used to determine the mode of the soft keyboard that is shown for the editor.
If you return android.text.InputType#TYPE_NULL then no soft keyboard will provided. In other words, you must be providing your own key pad for on-screen input and the key listener will be used to handle input from a hard keyboard.
If you return any other value, a soft input method will be created when the user puts focus in the editor, which will provide a keypad and also consume hard key events. This means that the key listener will generally not be used, instead the soft input method will take care of managing key input as per the content type returned here.
|
|
Public constructors
BaseKeyListener
BaseKeyListener()
Public methods
backspace
open fun backspace(
view: View!,
content: Editable!,
keyCode: Int,
event: KeyEvent!
): Boolean
Performs the action that happens when you press the KeyEvent#KEYCODE_DEL
key in a TextView
. If there is a selection, deletes the selection; otherwise, deletes the character before the cursor, if any; ALT+DEL deletes everything on the line the cursor is on.
Return |
Boolean |
true if anything was deleted; false otherwise. |
forwardDelete
open fun forwardDelete(
view: View!,
content: Editable!,
keyCode: Int,
event: KeyEvent!
): Boolean
Performs the action that happens when you press the KeyEvent#KEYCODE_FORWARD_DEL
key in a TextView
. If there is a selection, deletes the selection; otherwise, deletes the character before the cursor, if any; ALT+FORWARD_DEL deletes everything on the line the cursor is on.
Return |
Boolean |
true if anything was deleted; false otherwise. |
onKeyOther
open fun onKeyOther(
view: View!,
content: Editable!,
event: KeyEvent!
): Boolean
Base implementation handles ACTION_MULTIPLE KEYCODE_UNKNOWN by inserting the event's text into the content.