Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Ctors](https://developer.android.com/reference/android/text/method/LinkMovementMethod#pubctors) \| [Methods](https://developer.android.com/reference/android/text/method/LinkMovementMethod#pubmethods) \| [Protected Methods](https://developer.android.com/reference/android/text/method/LinkMovementMethod#promethods) \| [Inherited Methods](https://developer.android.com/reference/android/text/method/LinkMovementMethod#inhmethods)

# LinkMovementMethod

*** ** * ** ***

` public class LinkMovementMethod `   
` ` ` ` ` extends https://developer.android.com/reference/android/text/method/ScrollingMovementMethod ` ` `

|---|---|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||||
| ↳ | [android.text.method.BaseMovementMethod](https://developer.android.com/reference/android/text/method/BaseMovementMethod) |||
|   | ↳ | [android.text.method.ScrollingMovementMethod](https://developer.android.com/reference/android/text/method/ScrollingMovementMethod) ||
|   |   | ↳ | android.text.method.LinkMovementMethod |

<br />

*** ** * ** ***

A movement method that traverses links in the text buffer and scrolls if necessary. Supports clicking on links with DPad Center or Enter.

## Summary

| ### Public constructors ||
|---|---|
| ` https://developer.android.com/reference/android/text/method/LinkMovementMethod#LinkMovementMethod()() ` |

| ### Public methods ||
|---|---|
| ` boolean` | ` https://developer.android.com/reference/android/text/method/LinkMovementMethod#canSelectArbitrarily()() ` Returns true if this movement method allows arbitrary selection of any text; false if it has no selection (like a movement method that only scrolls) or a constrained selection (for example limited to links. |
| ` static https://developer.android.com/reference/android/text/method/MovementMethod` | ` https://developer.android.com/reference/android/text/method/LinkMovementMethod#getInstance()() ` |
| ` void` | ` https://developer.android.com/reference/android/text/method/LinkMovementMethod#initialize(android.widget.TextView,%20android.text.Spannable)(https://developer.android.com/reference/android/widget/TextView widget, https://developer.android.com/reference/android/text/Spannable text) ` <br /> |
| ` void` | ` https://developer.android.com/reference/android/text/method/LinkMovementMethod#onTakeFocus(android.widget.TextView,%20android.text.Spannable,%20int)(https://developer.android.com/reference/android/widget/TextView view, https://developer.android.com/reference/android/text/Spannable text, int dir) ` <br /> |
| ` boolean` | ` https://developer.android.com/reference/android/text/method/LinkMovementMethod#onTouchEvent(android.widget.TextView,%20android.text.Spannable,%20android.view.MotionEvent)(https://developer.android.com/reference/android/widget/TextView widget, https://developer.android.com/reference/android/text/Spannable buffer, https://developer.android.com/reference/android/view/MotionEvent event) ` <br /> |

| ### Protected methods ||
|---|---|
| ` boolean` | ` https://developer.android.com/reference/android/text/method/LinkMovementMethod#down(android.widget.TextView,%20android.text.Spannable)(https://developer.android.com/reference/android/widget/TextView widget, https://developer.android.com/reference/android/text/Spannable buffer) ` Performs a down movement action. |
| ` boolean` | ` https://developer.android.com/reference/android/text/method/LinkMovementMethod#handleMovementKey(android.widget.TextView,%20android.text.Spannable,%20int,%20int,%20android.view.KeyEvent)(https://developer.android.com/reference/android/widget/TextView widget, https://developer.android.com/reference/android/text/Spannable buffer, int keyCode, int movementMetaState, https://developer.android.com/reference/android/view/KeyEvent event) ` Performs a movement key action. |
| ` boolean` | ` https://developer.android.com/reference/android/text/method/LinkMovementMethod#left(android.widget.TextView,%20android.text.Spannable)(https://developer.android.com/reference/android/widget/TextView widget, https://developer.android.com/reference/android/text/Spannable buffer) ` Performs a left movement action. |
| ` boolean` | ` https://developer.android.com/reference/android/text/method/LinkMovementMethod#right(android.widget.TextView,%20android.text.Spannable)(https://developer.android.com/reference/android/widget/TextView widget, https://developer.android.com/reference/android/text/Spannable buffer) ` Performs a right movement action. |
| ` boolean` | ` https://developer.android.com/reference/android/text/method/LinkMovementMethod#up(android.widget.TextView,%20android.text.Spannable)(https://developer.android.com/reference/android/widget/TextView widget, https://developer.android.com/reference/android/text/Spannable buffer) ` Performs an up movement action. |

### Inherited methods

From class ` https://developer.android.com/reference/android/text/method/ScrollingMovementMethod ` ` boolean` ` https://developer.android.com/reference/android/text/method/ScrollingMovementMethod#bottom(android.widget.TextView,%20android.text.Spannable)(https://developer.android.com/reference/android/widget/TextView widget, https://developer.android.com/reference/android/text/Spannable buffer) `

Performs a bottom movement action.
` boolean` ` https://developer.android.com/reference/android/text/method/ScrollingMovementMethod#down(android.widget.TextView,%20android.text.Spannable)(https://developer.android.com/reference/android/widget/TextView widget, https://developer.android.com/reference/android/text/Spannable buffer) `

Performs a down movement action.
` boolean` ` https://developer.android.com/reference/android/text/method/ScrollingMovementMethod#end(android.widget.TextView,%20android.text.Spannable)(https://developer.android.com/reference/android/widget/TextView widget, https://developer.android.com/reference/android/text/Spannable buffer) `

Performs an end movement action.
` static https://developer.android.com/reference/android/text/method/MovementMethod` ` https://developer.android.com/reference/android/text/method/ScrollingMovementMethod#getInstance()() ` ` boolean` ` https://developer.android.com/reference/android/text/method/ScrollingMovementMethod#home(android.widget.TextView,%20android.text.Spannable)(https://developer.android.com/reference/android/widget/TextView widget, https://developer.android.com/reference/android/text/Spannable buffer) `

Performs a home movement action.
` boolean` ` https://developer.android.com/reference/android/text/method/ScrollingMovementMethod#left(android.widget.TextView,%20android.text.Spannable)(https://developer.android.com/reference/android/widget/TextView widget, https://developer.android.com/reference/android/text/Spannable buffer) `

Performs a left movement action.
` boolean` ` https://developer.android.com/reference/android/text/method/ScrollingMovementMethod#lineEnd(android.widget.TextView,%20android.text.Spannable)(https://developer.android.com/reference/android/widget/TextView widget, https://developer.android.com/reference/android/text/Spannable buffer) `

Performs a line-end movement action.
` boolean` ` https://developer.android.com/reference/android/text/method/ScrollingMovementMethod#lineStart(android.widget.TextView,%20android.text.Spannable)(https://developer.android.com/reference/android/widget/TextView widget, https://developer.android.com/reference/android/text/Spannable buffer) `

Performs a line-start movement action.
` void` ` https://developer.android.com/reference/android/text/method/ScrollingMovementMethod#onTakeFocus(android.widget.TextView,%20android.text.Spannable,%20int)(https://developer.android.com/reference/android/widget/TextView widget, https://developer.android.com/reference/android/text/Spannable text, int dir) `

<br />

` boolean` ` https://developer.android.com/reference/android/text/method/ScrollingMovementMethod#onTouchEvent(android.widget.TextView,%20android.text.Spannable,%20android.view.MotionEvent)(https://developer.android.com/reference/android/widget/TextView widget, https://developer.android.com/reference/android/text/Spannable buffer, https://developer.android.com/reference/android/view/MotionEvent event) `

<br />

` boolean` ` https://developer.android.com/reference/android/text/method/ScrollingMovementMethod#pageDown(android.widget.TextView,%20android.text.Spannable)(https://developer.android.com/reference/android/widget/TextView widget, https://developer.android.com/reference/android/text/Spannable buffer) `

Performs a page-down movement action.
` boolean` ` https://developer.android.com/reference/android/text/method/ScrollingMovementMethod#pageUp(android.widget.TextView,%20android.text.Spannable)(https://developer.android.com/reference/android/widget/TextView widget, https://developer.android.com/reference/android/text/Spannable buffer) `

Performs a page-up movement action.
` boolean` ` https://developer.android.com/reference/android/text/method/ScrollingMovementMethod#right(android.widget.TextView,%20android.text.Spannable)(https://developer.android.com/reference/android/widget/TextView widget, https://developer.android.com/reference/android/text/Spannable buffer) `

Performs a right movement action.
` boolean` ` https://developer.android.com/reference/android/text/method/ScrollingMovementMethod#top(android.widget.TextView,%20android.text.Spannable)(https://developer.android.com/reference/android/widget/TextView widget, https://developer.android.com/reference/android/text/Spannable buffer) `

Performs a top movement action.
` boolean` ` https://developer.android.com/reference/android/text/method/ScrollingMovementMethod#up(android.widget.TextView,%20android.text.Spannable)(https://developer.android.com/reference/android/widget/TextView widget, https://developer.android.com/reference/android/text/Spannable buffer) `

Performs an up movement action.
From class ` https://developer.android.com/reference/android/text/method/BaseMovementMethod ` ` boolean` ` https://developer.android.com/reference/android/text/method/BaseMovementMethod#bottom(android.widget.TextView,%20android.text.Spannable)(https://developer.android.com/reference/android/widget/TextView widget, https://developer.android.com/reference/android/text/Spannable buffer) `

Performs a bottom movement action.
` boolean` ` https://developer.android.com/reference/android/text/method/BaseMovementMethod#canSelectArbitrarily()() `

Returns true if this movement method allows arbitrary selection of any text; false if it has no selection (like a movement method that only scrolls) or a constrained selection (for example limited to links.
` boolean` ` https://developer.android.com/reference/android/text/method/BaseMovementMethod#down(android.widget.TextView,%20android.text.Spannable)(https://developer.android.com/reference/android/widget/TextView widget, https://developer.android.com/reference/android/text/Spannable buffer) `

Performs a down movement action.
` boolean` ` https://developer.android.com/reference/android/text/method/BaseMovementMethod#end(android.widget.TextView,%20android.text.Spannable)(https://developer.android.com/reference/android/widget/TextView widget, https://developer.android.com/reference/android/text/Spannable buffer) `

Performs an end movement action.
` int` ` https://developer.android.com/reference/android/text/method/BaseMovementMethod#getMovementMetaState(android.text.Spannable,%20android.view.KeyEvent)(https://developer.android.com/reference/android/text/Spannable buffer, https://developer.android.com/reference/android/view/KeyEvent event) `

Gets the meta state used for movement using the modifiers tracked by the text buffer as well as those present in the key event.
` boolean` ` https://developer.android.com/reference/android/text/method/BaseMovementMethod#handleMovementKey(android.widget.TextView,%20android.text.Spannable,%20int,%20int,%20android.view.KeyEvent)(https://developer.android.com/reference/android/widget/TextView widget, https://developer.android.com/reference/android/text/Spannable buffer, int keyCode, int movementMetaState, https://developer.android.com/reference/android/view/KeyEvent event) `

Performs a movement key action.
` boolean` ` https://developer.android.com/reference/android/text/method/BaseMovementMethod#home(android.widget.TextView,%20android.text.Spannable)(https://developer.android.com/reference/android/widget/TextView widget, https://developer.android.com/reference/android/text/Spannable buffer) `

Performs a home movement action.
` void` ` https://developer.android.com/reference/android/text/method/BaseMovementMethod#initialize(android.widget.TextView,%20android.text.Spannable)(https://developer.android.com/reference/android/widget/TextView widget, https://developer.android.com/reference/android/text/Spannable text) `

<br />

` boolean` ` https://developer.android.com/reference/android/text/method/BaseMovementMethod#left(android.widget.TextView,%20android.text.Spannable)(https://developer.android.com/reference/android/widget/TextView widget, https://developer.android.com/reference/android/text/Spannable buffer) `

Performs a left movement action.
` boolean` ` https://developer.android.com/reference/android/text/method/BaseMovementMethod#lineEnd(android.widget.TextView,%20android.text.Spannable)(https://developer.android.com/reference/android/widget/TextView widget, https://developer.android.com/reference/android/text/Spannable buffer) `

Performs a line-end movement action.
` boolean` ` https://developer.android.com/reference/android/text/method/BaseMovementMethod#lineStart(android.widget.TextView,%20android.text.Spannable)(https://developer.android.com/reference/android/widget/TextView widget, https://developer.android.com/reference/android/text/Spannable buffer) `

Performs a line-start movement action.
` boolean` ` https://developer.android.com/reference/android/text/method/BaseMovementMethod#nextParagraph(android.widget.TextView,%20android.text.Spannable)(https://developer.android.com/reference/android/widget/TextView widget, https://developer.android.com/reference/android/text/Spannable buffer) `

Performs a next paragraph movement action.
` boolean` ` https://developer.android.com/reference/android/text/method/BaseMovementMethod#onGenericMotionEvent(android.widget.TextView,%20android.text.Spannable,%20android.view.MotionEvent)(https://developer.android.com/reference/android/widget/TextView widget, https://developer.android.com/reference/android/text/Spannable text, https://developer.android.com/reference/android/view/MotionEvent event) `

<br />

` boolean` ` https://developer.android.com/reference/android/text/method/BaseMovementMethod#onKeyDown(android.widget.TextView,%20android.text.Spannable,%20int,%20android.view.KeyEvent)(https://developer.android.com/reference/android/widget/TextView widget, https://developer.android.com/reference/android/text/Spannable text, int keyCode, https://developer.android.com/reference/android/view/KeyEvent event) `

<br />

` boolean` ` https://developer.android.com/reference/android/text/method/BaseMovementMethod#onKeyOther(android.widget.TextView,%20android.text.Spannable,%20android.view.KeyEvent)(https://developer.android.com/reference/android/widget/TextView widget, https://developer.android.com/reference/android/text/Spannable text, https://developer.android.com/reference/android/view/KeyEvent event) `

If the key listener wants to other kinds of key events, return true, otherwise return false and the caller (i.e.
` boolean` ` https://developer.android.com/reference/android/text/method/BaseMovementMethod#onKeyUp(android.widget.TextView,%20android.text.Spannable,%20int,%20android.view.KeyEvent)(https://developer.android.com/reference/android/widget/TextView widget, https://developer.android.com/reference/android/text/Spannable text, int keyCode, https://developer.android.com/reference/android/view/KeyEvent event) `

<br />

` void` ` https://developer.android.com/reference/android/text/method/BaseMovementMethod#onTakeFocus(android.widget.TextView,%20android.text.Spannable,%20int)(https://developer.android.com/reference/android/widget/TextView widget, https://developer.android.com/reference/android/text/Spannable text, int direction) `

<br />

` boolean` ` https://developer.android.com/reference/android/text/method/BaseMovementMethod#onTouchEvent(android.widget.TextView,%20android.text.Spannable,%20android.view.MotionEvent)(https://developer.android.com/reference/android/widget/TextView widget, https://developer.android.com/reference/android/text/Spannable text, https://developer.android.com/reference/android/view/MotionEvent event) `

<br />

` boolean` ` https://developer.android.com/reference/android/text/method/BaseMovementMethod#onTrackballEvent(android.widget.TextView,%20android.text.Spannable,%20android.view.MotionEvent)(https://developer.android.com/reference/android/widget/TextView widget, https://developer.android.com/reference/android/text/Spannable text, https://developer.android.com/reference/android/view/MotionEvent event) `

<br />

` boolean` ` https://developer.android.com/reference/android/text/method/BaseMovementMethod#pageDown(android.widget.TextView,%20android.text.Spannable)(https://developer.android.com/reference/android/widget/TextView widget, https://developer.android.com/reference/android/text/Spannable buffer) `

Performs a page-down movement action.
` boolean` ` https://developer.android.com/reference/android/text/method/BaseMovementMethod#pageUp(android.widget.TextView,%20android.text.Spannable)(https://developer.android.com/reference/android/widget/TextView widget, https://developer.android.com/reference/android/text/Spannable buffer) `

Performs a page-up movement action.
` boolean` ` https://developer.android.com/reference/android/text/method/BaseMovementMethod#previousParagraph(android.widget.TextView,%20android.text.Spannable)(https://developer.android.com/reference/android/widget/TextView widget, https://developer.android.com/reference/android/text/Spannable buffer) `

Performs a previous paragraph movement action.
` boolean` ` https://developer.android.com/reference/android/text/method/BaseMovementMethod#right(android.widget.TextView,%20android.text.Spannable)(https://developer.android.com/reference/android/widget/TextView widget, https://developer.android.com/reference/android/text/Spannable buffer) `

Performs a right movement action.
` boolean` ` https://developer.android.com/reference/android/text/method/BaseMovementMethod#top(android.widget.TextView,%20android.text.Spannable)(https://developer.android.com/reference/android/widget/TextView widget, https://developer.android.com/reference/android/text/Spannable buffer) `

Performs a top movement action.
` boolean` ` https://developer.android.com/reference/android/text/method/BaseMovementMethod#up(android.widget.TextView,%20android.text.Spannable)(https://developer.android.com/reference/android/widget/TextView widget, https://developer.android.com/reference/android/text/Spannable buffer) `

Performs an up movement action.
From class ` https://developer.android.com/reference/java/lang/Object ` ` https://developer.android.com/reference/java/lang/Object` ` https://developer.android.com/reference/java/lang/Object#clone()() `

Creates and returns a copy of this object.
` boolean` ` https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj) `

Indicates whether some other object is "equal to" this one.
` void` ` https://developer.android.com/reference/java/lang/Object#finalize()() `

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.
` final https://developer.android.com/reference/java/lang/Class<?>` ` https://developer.android.com/reference/java/lang/Object#getClass()() `

Returns the runtime class of this `Object`.
` int` ` https://developer.android.com/reference/java/lang/Object#hashCode()() `

Returns a hash code value for the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#notify()() `

Wakes up a single thread that is waiting on this object's monitor.
` final void` ` https://developer.android.com/reference/java/lang/Object#notifyAll()() `

Wakes up all threads that are waiting on this object's monitor.
` https://developer.android.com/reference/java/lang/String` ` https://developer.android.com/reference/java/lang/Object#toString()() `

Returns a string representation of the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait(long,%20int)(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` ` https://developer.android.com/reference/java/lang/Object#wait(long)(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` ` https://developer.android.com/reference/java/lang/Object#wait()() `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*.
From interface ` https://developer.android.com/reference/android/text/method/MovementMethod ` ` abstract boolean` ` https://developer.android.com/reference/android/text/method/MovementMethod#canSelectArbitrarily()() `

Returns true if this movement method allows arbitrary selection of any text; false if it has no selection (like a movement method that only scrolls) or a constrained selection (for example limited to links.
` abstract void` ` https://developer.android.com/reference/android/text/method/MovementMethod#initialize(android.widget.TextView,%20android.text.Spannable)(https://developer.android.com/reference/android/widget/TextView widget, https://developer.android.com/reference/android/text/Spannable text) ` ` abstract boolean` ` https://developer.android.com/reference/android/text/method/MovementMethod#onGenericMotionEvent(android.widget.TextView,%20android.text.Spannable,%20android.view.MotionEvent)(https://developer.android.com/reference/android/widget/TextView widget, https://developer.android.com/reference/android/text/Spannable text, https://developer.android.com/reference/android/view/MotionEvent event) ` ` abstract boolean` ` https://developer.android.com/reference/android/text/method/MovementMethod#onKeyDown(android.widget.TextView,%20android.text.Spannable,%20int,%20android.view.KeyEvent)(https://developer.android.com/reference/android/widget/TextView widget, https://developer.android.com/reference/android/text/Spannable text, int keyCode, https://developer.android.com/reference/android/view/KeyEvent event) ` ` abstract boolean` ` https://developer.android.com/reference/android/text/method/MovementMethod#onKeyOther(android.widget.TextView,%20android.text.Spannable,%20android.view.KeyEvent)(https://developer.android.com/reference/android/widget/TextView view, https://developer.android.com/reference/android/text/Spannable text, https://developer.android.com/reference/android/view/KeyEvent event) `

If the key listener wants to other kinds of key events, return true, otherwise return false and the caller (i.e.
` abstract boolean` ` https://developer.android.com/reference/android/text/method/MovementMethod#onKeyUp(android.widget.TextView,%20android.text.Spannable,%20int,%20android.view.KeyEvent)(https://developer.android.com/reference/android/widget/TextView widget, https://developer.android.com/reference/android/text/Spannable text, int keyCode, https://developer.android.com/reference/android/view/KeyEvent event) ` ` abstract void` ` https://developer.android.com/reference/android/text/method/MovementMethod#onTakeFocus(android.widget.TextView,%20android.text.Spannable,%20int)(https://developer.android.com/reference/android/widget/TextView widget, https://developer.android.com/reference/android/text/Spannable text, int direction) ` ` abstract boolean` ` https://developer.android.com/reference/android/text/method/MovementMethod#onTouchEvent(android.widget.TextView,%20android.text.Spannable,%20android.view.MotionEvent)(https://developer.android.com/reference/android/widget/TextView widget, https://developer.android.com/reference/android/text/Spannable text, https://developer.android.com/reference/android/view/MotionEvent event) ` ` abstract boolean` ` https://developer.android.com/reference/android/text/method/MovementMethod#onTrackballEvent(android.widget.TextView,%20android.text.Spannable,%20android.view.MotionEvent)(https://developer.android.com/reference/android/widget/TextView widget, https://developer.android.com/reference/android/text/Spannable text, https://developer.android.com/reference/android/view/MotionEvent event) `

## Public constructors

### LinkMovementMethod

```
public LinkMovementMethod ()
```

<br />

<br />

## Public methods

### canSelectArbitrarily

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public boolean canSelectArbitrarily ()
```

Returns true if this movement method allows arbitrary selection of any text; false if it has no selection (like a movement method that only scrolls) or a constrained selection (for example limited to links. The "Select All" menu item is disabled if arbitrary selection is not allowed.

<br />

| Returns ||
|---|---|
| `boolean` | <br /> |

### getInstance

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static MovementMethod getInstance ()
```

<br />

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/text/method/MovementMethod` | <br /> |

### initialize

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void initialize (TextView widget, 
                Spannable text)
```

<br />

<br />

| Parameters ||
|---|---|
| `widget` | `TextView` <br /> |
| `text` | `Spannable` <br /> |

### onTakeFocus

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void onTakeFocus (TextView view, 
                Spannable text, 
                int dir)
```

<br />

<br />

| Parameters ||
|---|---|
| `view` | `TextView` <br /> |
| `text` | `Spannable` <br /> |
| `dir` | `int` <br /> |

### onTouchEvent

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public boolean onTouchEvent (TextView widget, 
                Spannable buffer, 
                MotionEvent event)
```

<br />

<br />

| Parameters ||
|---|---|
| `widget` | `TextView` <br /> |
| `buffer` | `Spannable` <br /> |
| `event` | `MotionEvent` <br /> |

| Returns ||
|---|---|
| `boolean` | <br /> |

## Protected methods

### down

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
protected boolean down (TextView widget, 
                Spannable buffer)
```

Performs a down movement action. Moves the cursor or scrolls down by one line.

<br />

| Parameters ||
|---|---|
| `widget` | `TextView`: The text view. <br /> |
| `buffer` | `Spannable`: The text buffer. <br /> |

| Returns ||
|---|---|
| `boolean` | True if the event was handled. <br /> |

### handleMovementKey

Added in [API level 11](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
protected boolean handleMovementKey (TextView widget, 
                Spannable buffer, 
                int keyCode, 
                int movementMetaState, 
                KeyEvent event)
```

Performs a movement key action. The default implementation decodes the key down and invokes movement actions such as `https://developer.android.com/reference/android/text/method/BaseMovementMethod#down(android.widget.TextView,%20android.text.Spannable)` and `https://developer.android.com/reference/android/text/method/BaseMovementMethod#up(android.widget.TextView,%20android.text.Spannable)`. `https://developer.android.com/reference/android/text/method/BaseMovementMethod#onKeyDown(android.widget.TextView,%20android.text.Spannable,%20int,%20android.view.KeyEvent)` calls this method once to handle an `https://developer.android.com/reference/android/view/KeyEvent#ACTION_DOWN`. `https://developer.android.com/reference/android/text/method/BaseMovementMethod#onKeyOther(android.widget.TextView,%20android.text.Spannable,%20android.view.KeyEvent)` calls this method repeatedly to handle each repetition of an `https://developer.android.com/reference/android/view/KeyEvent#ACTION_MULTIPLE`.

<br />

| Parameters ||
|---|---|
| `widget` | `TextView`: The text view. <br /> |
| `buffer` | `Spannable`: The text buffer. <br /> |
| `keyCode` | `int`: The key code. <br /> |
| `movementMetaState` | `int`: The keyboard meta states used for movement. <br /> |
| `event` | `KeyEvent`: The key event. <br /> |

| Returns ||
|---|---|
| `boolean` | True if the event was handled. <br /> |

### left

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
protected boolean left (TextView widget, 
                Spannable buffer)
```

Performs a left movement action. Moves the cursor or scrolls left by one character.

<br />

| Parameters ||
|---|---|
| `widget` | `TextView`: The text view. <br /> |
| `buffer` | `Spannable`: The text buffer. <br /> |

| Returns ||
|---|---|
| `boolean` | True if the event was handled. <br /> |

### right

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
protected boolean right (TextView widget, 
                Spannable buffer)
```

Performs a right movement action. Moves the cursor or scrolls right by one character.

<br />

| Parameters ||
|---|---|
| `widget` | `TextView`: The text view. <br /> |
| `buffer` | `Spannable`: The text buffer. <br /> |

| Returns ||
|---|---|
| `boolean` | True if the event was handled. <br /> |

### up

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
protected boolean up (TextView widget, 
                Spannable buffer)
```

Performs an up movement action. Moves the cursor or scrolls up by one line.

<br />

| Parameters ||
|---|---|
| `widget` | `TextView`: The text view. <br /> |
| `buffer` | `Spannable`: The text buffer. <br /> |

| Returns ||
|---|---|
| `boolean` | True if the event was handled. <br /> |