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

# BaseMovementMethod

*** ** * ** ***

` public class BaseMovementMethod `   
` extends https://developer.android.com/reference/java/lang/Object ` ` implements https://developer.android.com/reference/android/text/method/MovementMethod `

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

Known direct subclasses [ArrowKeyMovementMethod](https://developer.android.com/reference/android/text/method/ArrowKeyMovementMethod), [ScrollingMovementMethod](https://developer.android.com/reference/android/text/method/ScrollingMovementMethod) [ArrowKeyMovementMethod](https://developer.android.com/reference/android/text/method/ArrowKeyMovementMethod) A movement method that provides cursor movement and selection. [ScrollingMovementMethod](https://developer.android.com/reference/android/text/method/ScrollingMovementMethod) A movement method that interprets movement keys by scrolling the text buffer. Known indirect subclasses [LinkMovementMethod](https://developer.android.com/reference/android/text/method/LinkMovementMethod) [LinkMovementMethod](https://developer.android.com/reference/android/text/method/LinkMovementMethod) A movement method that traverses links in the text buffer and scrolls if necessary.   

*** ** * ** ***

Base classes for movement methods.

## Summary

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

| ### Public methods ||
|---|---|
| ` 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. |
| ` 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#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#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. |

| ### Protected methods ||
|---|---|
| ` 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#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. |
| ` 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#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#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. |

### Inherited methods

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

### BaseMovementMethod

```
public BaseMovementMethod ()
```

<br />

<br />

## Public methods

### canSelectArbitrarily

Added in [API level 11](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 /> |

### initialize

Added in [API level 11](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 /> |

### nextParagraph

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

```
public boolean nextParagraph (TextView widget, 
                Spannable buffer)
```

Performs a next paragraph movement action.

<br />

| Parameters ||
|---|---|
| `widget` | `TextView`: the text view. This value cannot be `null`. <br /> |
| `buffer` | `Spannable`: the text buffer. This value cannot be `null`. <br /> |

| Returns ||
|---|---|
| `boolean` | true if the event was handled, otherwise false. <br /> |

### onGenericMotionEvent

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

```
public boolean onGenericMotionEvent (TextView widget, 
                Spannable text, 
                MotionEvent event)
```

<br />

<br />

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

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

### onKeyDown

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

```
public boolean onKeyDown (TextView widget, 
                Spannable text, 
                int keyCode, 
                KeyEvent event)
```

<br />

<br />

| Parameters ||
|---|---|
| `widget` | `TextView` <br /> |
| `text` | `Spannable` <br /> |
| `keyCode` | `int` <br /> |
| `event` | `KeyEvent` <br /> |

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

### onKeyOther

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

```
public boolean onKeyOther (TextView widget, 
                Spannable 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.

<br />

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

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

### onKeyUp

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

```
public boolean onKeyUp (TextView widget, 
                Spannable text, 
                int keyCode, 
                KeyEvent event)
```

<br />

<br />

| Parameters ||
|---|---|
| `widget` | `TextView` <br /> |
| `text` | `Spannable` <br /> |
| `keyCode` | `int` <br /> |
| `event` | `KeyEvent` <br /> |

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

### onTakeFocus

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

```
public void onTakeFocus (TextView widget, 
                Spannable text, 
                int direction)
```

<br />

<br />

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

### onTouchEvent

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

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

<br />

<br />

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

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

### onTrackballEvent

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

```
public boolean onTrackballEvent (TextView widget, 
                Spannable text, 
                MotionEvent event)
```

<br />

<br />

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

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

### previousParagraph

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

```
public boolean previousParagraph (TextView widget, 
                Spannable buffer)
```

Performs a previous paragraph movement action.

<br />

| Parameters ||
|---|---|
| `widget` | `TextView`: the text view. This value cannot be `null`. <br /> |
| `buffer` | `Spannable`: the text buffer. This value cannot be `null`. <br /> |

| Returns ||
|---|---|
| `boolean` | true if the event was handled, otherwise false. <br /> |

## Protected methods

### bottom

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

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

Performs a bottom movement action. Moves the cursor or scrolls to the bottom of the buffer.

<br />

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

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

### down

Added in [API level 11](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 /> |

### end

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

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

Performs an end movement action. Moves the cursor or scrolls to the start of the line or to the top of the document depending on whether the insertion point is being moved or the document is being scrolled.

<br />

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

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

### getMovementMetaState

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

```
protected int getMovementMetaState (Spannable buffer, 
                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. The movement meta state excludes the state of locked modifiers or the SHIFT key since they are not used by movement actions (but they may be used for selection).

<br />

| Parameters ||
|---|---|
| `buffer` | `Spannable`: The text buffer. <br /> |
| `event` | `KeyEvent`: The key event. <br /> |

| Returns ||
|---|---|
| `int` | The keyboard meta states used for movement. <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 /> |

### home

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

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

Performs a home movement action. Moves the cursor or scrolls to the start of the line or to the top of the document depending on whether the insertion point is being moved or the document is being scrolled.

<br />

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

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

### left

Added in [API level 11](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 /> |

### lineEnd

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

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

Performs a line-end movement action. Moves the cursor or scrolls to the end of the line.

<br />

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

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

### lineStart

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

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

Performs a line-start movement action. Moves the cursor or scrolls to the start of the line.

<br />

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

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

### pageDown

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

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

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

<br />

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

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

### pageUp

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

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

Performs a page-up movement action. Moves the cursor or scrolls up by one page.

<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 11](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 /> |

### top

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

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

Performs a top movement action. Moves the cursor or scrolls to the top of the buffer.

<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 11](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 /> |