Stay organized with collections
    
    
      
      Save and categorize content based on your preferences.
    
  
  
    
  
  
  
  
    
    
    
  
  
    
    
  
  
BaseKeyListener
  public
  
  
  abstract
  class
  BaseKeyListener
  
  
  
  
    extends MetaKeyKeyListener
  
  
  
  
  
      implements
      
        KeyListener
      
  
  
  
  
  
  
    
      | 
          Known indirect subclasses
          
  
  
         | 
  
    
  Abstract base class for key listeners.
 Provides a basic foundation for entering and editing text.
 Subclasses should override onKeyDown(View, Editable, int, KeyEvent) and MetaKeyKeyListener.onKeyUp(View, Editable, int, KeyEvent) 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
| Public methods | 
|---|
  
  
  
    | 
        
        
        
        
        
        boolean | 
      backspace(View view, Editable content, int keyCode, KeyEvent event)
      Performs the action that happens when you press the KeyEvent.KEYCODE_DELkey in
 aTextView. | 
  
  
  
  
    | 
        
        
        
        
        
        boolean | 
      forwardDelete(View view, Editable content, int keyCode, KeyEvent event)
      Performs the action that happens when you press the KeyEvent.KEYCODE_FORWARD_DELkey in aTextView. | 
  
  
  
  
    | 
        
        
        
        
        
        boolean | 
      onKeyDown(View view, Editable content, int keyCode, KeyEvent event)
      Handles presses of the meta keys.
        
    
 | 
  
  
  
  
    | 
        
        
        
        
        
        boolean | 
      onKeyOther(View view, Editable content, KeyEvent event)
      Base implementation handles ACTION_MULTIPLE KEYCODE_UNKNOWN by inserting
 the event's text into the content.
        
    
 | 
  
| Inherited methods | 
|---|
| 
    From class
      
        
          android.text.method.MetaKeyKeyListener
        
      
      
  
  
  
    | 
        
        
        static
        
        
        void | 
      adjustMetaAfterKeypress(Spannable content)
      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).
        
    
 |  
  
  
    | 
        
        
        static
        
        
        long | 
      adjustMetaAfterKeypress(long state)
      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).
        
    
 |  
  
  
    | 
        
        
        static
        
        
        void | 
      clearMetaKeyState(Editable content, int states)
       |  
  
  
    | 
        
        
        
        
        
        long | 
      clearMetaKeyState(long state, int which)
      Clears the state of the specified meta key if it is locked.
        
    
 |  
  
  
    | 
        
        
        
        
        
        void | 
      clearMetaKeyState(View view, Editable content, int states)
       |  
  
  
    | 
        
        
        static
        final
        
        int | 
      getMetaState(CharSequence text)
      Gets the state of the meta keys.
        
    
 |  
  
  
    | 
        
        
        static
        final
        
        int | 
      getMetaState(CharSequence text, int meta)
      Gets the state of a particular meta key.
        
    
 |  
  
  
    | 
        
        
        static
        final
        
        int | 
      getMetaState(long state)
      Gets the state of the meta keys.
        
    
 |  
  
  
    | 
        
        
        static
        final
        
        int | 
      getMetaState(CharSequence text, KeyEvent event)
      Gets the state of the meta keys for a specific key event.
        
    
 |  
  
  
    | 
        
        
        static
        final
        
        int | 
      getMetaState(long state, int meta)
      Gets the state of a particular meta key.
        
    
 |  
  
  
    | 
        
        
        static
        final
        
        int | 
      getMetaState(CharSequence text, int meta, KeyEvent event)
      Gets the state of a particular meta key to use with a particular key event.
        
    
 |  
  
  
    | 
        
        
        static
        
        
        long | 
      handleKeyDown(long state, int keyCode, KeyEvent event)
      Handles presses of the meta keys.
        
    
 |  
  
  
    | 
        
        
        static
        
        
        long | 
      handleKeyUp(long state, int keyCode, KeyEvent event)
      Handles release of the meta keys.
        
    
 |  
  
  
    | 
        
        
        static
        
        
        boolean | 
      isMetaTracker(CharSequence text, Object what)
      Returns true if this object is one that this class would use to
 keep track of any meta state in the specified text.
        
    
 |  
  
  
    | 
        
        
        static
        
        
        boolean | 
      isSelectingMetaTracker(CharSequence text, Object what)
      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 | 
      onKeyDown(View view, Editable content, int keyCode, KeyEvent event)
      Handles presses of the meta keys.
        
    
 |  
  
  
    | 
        
        
        
        
        
        boolean | 
      onKeyUp(View view, Editable content, int keyCode, KeyEvent event)
      Handles release of the meta keys.
        
    
 |  
  
  
    | 
        
        
        static
        
        
        long | 
      resetLockedMeta(long state)
      Call this if you are a method that ignores the locked meta state
 (arrow keys, for example) and you handle a key.
        
    
 |  
  
  
    | 
        
        
        static
        
        
        void | 
      resetLockedMeta(Spannable content)
      Call this if you are a method that ignores the locked meta state
 (arrow keys, for example) and you handle a key.
        
    
 |  
  
  
    | 
        
        
        static
        
        
        void | 
      resetMetaState(Spannable text)
      Resets all meta state to inactive.
        
    
 |  | 
| 
    From class
      
        
          java.lang.Object
        
      
      
  
  
  
    | 
        
        
        
        
        
        Object | 
      clone()
      Creates and returns a copy of this object.
        
    
 |  
  
  
    | 
        
        
        
        
        
        boolean | 
      equals(Object obj)
      Indicates whether some other object is "equal to" this one.
        
    
 |  
  
  
    | 
        
        
        
        
        
        void | 
      finalize()
      Called by the garbage collector on an object when garbage collection
 determines that there are no more references to the object.
        
    
 |  
  
  
    | 
        
        
        
        final
        
        Class<?> | 
      getClass()
      Returns the runtime class of this Object. |  
  
  
    | 
        
        
        
        
        
        int | 
      hashCode()
      Returns a hash code value for the object.
        
    
 |  
  
  
    | 
        
        
        
        final
        
        void | 
      notify()
      Wakes up a single thread that is waiting on this object's
 monitor.
        
    
 |  
  
  
    | 
        
        
        
        final
        
        void | 
      notifyAll()
      Wakes up all threads that are waiting on this object's monitor.
        
    
 |  
  
  
    | 
        
        
        
        
        
        String | 
      toString()
      Returns a string representation of the object.
        
    
 |  
  
  
    | 
        
        
        
        final
        
        void | 
      wait(long timeoutMillis, int nanos)
      Causes the current thread to wait until it is awakened, typically
 by being notified or interrupted, or until a
 certain amount of real time has elapsed.
        
    
 |  
  
  
    | 
        
        
        
        final
        
        void | 
      wait(long timeoutMillis)
      Causes the current thread to wait until it is awakened, typically
 by being notified or interrupted, or until a
 certain amount of real time has elapsed.
        
    
 |  
  
  
    | 
        
        
        
        final
        
        void | 
      wait()
      Causes the current thread to wait until it is awakened, typically
 by being notified or interrupted.
        
    
 |  | 
| 
    From interface
      
        
          android.text.method.KeyListener
        
      
      
  
  
  
    | 
        abstract
        
        
        
        
        void | 
      clearMetaKeyState(View view, Editable content, int states)
      Remove the given shift states from the edited text.
        
    
 |  
  
  
    | 
        abstract
        
        
        
        
        int | 
      getInputType()
      Return the type of text that this key listener is manipulating,
 as per InputType. |  
  
  
    | 
        abstract
        
        
        
        
        boolean | 
      onKeyDown(View view, Editable text, int keyCode, KeyEvent event)
      If the key listener wants to handle this key, return true,
 otherwise return false and the caller (i.e. the widget host)
 will handle the key.
        
    
 |  
  
  
    | 
        abstract
        
        
        
        
        boolean | 
      onKeyOther(View view, Editable text, KeyEvent event)
      If the key listener wants to other kinds of key events, return true,
 otherwise return false and the caller (i.e. the widget host)
 will handle the key.
        
    
 |  
  
  
    | 
        abstract
        
        
        
        
        boolean | 
      onKeyUp(View view, Editable text, int keyCode, KeyEvent event)
      If the key listener wants to handle this key release, return true,
 otherwise return false and the caller (i.e. the widget host)
 will handle the key.
        
    
 |  | 
Public constructors
    BaseKeyListener
    
public BaseKeyListener ()
    
    
    
  
 
Public methods
    backspace
    
public boolean backspace (View view, 
                Editable content, 
                int keyCode, 
                KeyEvent event)
    
    
    
  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.
    
    | Parameters | 
|---|
      
        | view | View | 
      
        | content | Editable | 
      
        | keyCode | int | 
      
        | event | KeyEvent | 
    
    
      | Returns | 
|---|
      
        | boolean | true if anything was deleted; false otherwise. | 
    
 
    forwardDelete
    
public boolean forwardDelete (View view, 
                Editable content, 
                int keyCode, 
                KeyEvent event)
    
    
    
  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.
    
    | Parameters | 
|---|
      
        | view | View | 
      
        | content | Editable | 
      
        | keyCode | int | 
      
        | event | KeyEvent | 
    
    
      | Returns | 
|---|
      
        | boolean | true if anything was deleted; false otherwise. | 
    
 
    onKeyDown
    
public boolean onKeyDown (View view, 
                Editable content, 
                int keyCode, 
                KeyEvent event)
    
    
    
  Handles presses of the meta keys.
    
    | Parameters | 
|---|
      
        | view | View | 
      
        | content | Editable | 
      
        | keyCode | int | 
      
        | event | KeyEvent | 
    
    
 
    onKeyOther
    
public boolean onKeyOther (View view, 
                Editable content, 
                KeyEvent event)
    
    
    
  Base implementation handles ACTION_MULTIPLE KEYCODE_UNKNOWN by inserting
 the event's text into the content.
    
    | Parameters | 
|---|
      
        | view | View | 
      
        | content | Editable | 
      
        | event | KeyEvent | 
    
    
 
 
 
  
  
    
  
 
  
    
      
      
    
    
      
    
    
  
       
    
    
      
    
  
  
  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.
  
  
  
    
      [[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-02-10 UTC."],[],[]]