TextKeyListener


public class TextKeyListener
extends BaseKeyListener implements SpanWatcher

java.lang.Object
   ↳ android.text.method.MetaKeyKeyListener
     ↳ android.text.method.BaseKeyListener
       ↳ android.text.method.TextKeyListener


This is the key listener for typing normal text. It delegates to other key listeners appropriate to the current keyboard and language.

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 constants

int META_ALT_LOCKED

Flag that indicates that the ALT key is locked.

int META_ALT_ON

Flag that indicates that the ALT key is on.

int META_CAP_LOCKED

Flag that indicates that the SHIFT key is locked in CAPS mode.

int META_SHIFT_ON

Flag that indicates that the SHIFT key is on.

int META_SYM_LOCKED

Flag that indicates that the SYM key is locked.

int META_SYM_ON

Flag that indicates that the SYM key is on.

Public constructors

TextKeyListener(TextKeyListener.Capitalize cap, boolean autotext)

Creates a new TextKeyListener with the specified capitalization and correction properties.

Public methods

static void clear(Editable e)

Clear all the input state (autotext, autocap, multitap, undo) from the specified Editable, going beyond Editable.clear(), which just clears the text but not the input state.

int getInputType()
static TextKeyListener getInstance()

Returns a new or existing instance with no automatic capitalization or correction.

static TextKeyListener getInstance(boolean autotext, TextKeyListener.Capitalize cap)

Returns a new or existing instance with the specified capitalization and correction properties.

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.

boolean onKeyUp(View view, Editable content, int keyCode, KeyEvent event)

Handles release of the meta keys.

void onSpanAdded(Spannable s, Object what, int start, int end)

This method is called to notify you that the specified object has been attached to the specified range of the text.

void onSpanChanged(Spannable s, Object what, int start, int end, int st, int en)

This method is called to notify you that the specified object has been relocated from the range ostart…oend to the new range nstart…nend of the text.

void onSpanRemoved(Spannable s, Object what, int start, int end)

This method is called to notify you that the specified object has been detached from the specified range of the text.

void release()
static boolean shouldCap(TextKeyListener.Capitalize cap, CharSequence cs, int off)

Returns whether it makes sense to automatically capitalize at the specified position in the specified text, with the specified rules.

Inherited methods

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.

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.

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.

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.

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.

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.

abstract void onSpanAdded(Spannable text, Object what, int start, int end)

This method is called to notify you that the specified object has been attached to the specified range of the text.

abstract void onSpanChanged(Spannable text, Object what, int ostart, int oend, int nstart, int nend)

This method is called to notify you that the specified object has been relocated from the range ostart…oend to the new range nstart…nend of the text.

abstract void onSpanRemoved(Spannable text, Object what, int start, int end)

This method is called to notify you that the specified object has been detached from the specified range of the text.

Public constructors

TextKeyListener

Added in API level 1
public TextKeyListener (TextKeyListener.Capitalize cap, 
                boolean autotext)

Creates a new TextKeyListener with the specified capitalization and correction properties.

Parameters
cap TextKeyListener.Capitalize: when, if ever, to automatically capitalize.

autotext boolean: whether to automatically do spelling corrections.

Public methods

clear

Added in API level 1
public static void clear (Editable e)

Clear all the input state (autotext, autocap, multitap, undo) from the specified Editable, going beyond Editable.clear(), which just clears the text but not the input state.

Parameters
e Editable: the buffer whose text and state are to be cleared.

getInputType

Added in API level 3
public int getInputType ()

Returns
int

getInstance

Added in API level 1
public static TextKeyListener getInstance ()

Returns a new or existing instance with no automatic capitalization or correction.

Returns
TextKeyListener

getInstance

Added in API level 1
public static TextKeyListener getInstance (boolean autotext, 
                TextKeyListener.Capitalize cap)

Returns a new or existing instance with the specified capitalization and correction properties.

Parameters
autotext boolean: whether to automatically do spelling corrections.

cap TextKeyListener.Capitalize: when, if ever, to automatically capitalize.

Returns
TextKeyListener

onKeyDown

Added in API level 1
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

Returns
boolean

onKeyOther

Added in API level 3
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

Returns
boolean

onKeyUp

Added in API level 1
public boolean onKeyUp (View view, 
                Editable content, 
                int keyCode, 
                KeyEvent event)

Handles release of the meta keys.

Parameters
view View

content Editable

keyCode int

event KeyEvent

Returns
boolean

onSpanAdded

Added in API level 1
public void onSpanAdded (Spannable s, 
                Object what, 
                int start, 
                int end)

This method is called to notify you that the specified object has been attached to the specified range of the text.

Parameters
s Spannable

what Object

start int

end int

onSpanChanged

Added in API level 1
public void onSpanChanged (Spannable s, 
                Object what, 
                int start, 
                int end, 
                int st, 
                int en)

This method is called to notify you that the specified object has been relocated from the range ostart…oend to the new range nstart…nend of the text.

Parameters
s Spannable

what Object

start int

end int

st int

en int

onSpanRemoved

Added in API level 1
public void onSpanRemoved (Spannable s, 
                Object what, 
                int start, 
                int end)

This method is called to notify you that the specified object has been detached from the specified range of the text.

Parameters
s Spannable

what Object

start int

end int

release

Added in API level 1
public void release ()

shouldCap

Added in API level 1
public static boolean shouldCap (TextKeyListener.Capitalize cap, 
                CharSequence cs, 
                int off)

Returns whether it makes sense to automatically capitalize at the specified position in the specified text, with the specified rules.

Parameters
cap TextKeyListener.Capitalize: the capitalization rules to consider.

cs CharSequence: the text in which an insertion is being made.

off int: the offset into that text where the insertion is being made.

Returns
boolean whether the character being inserted should be capitalized.