diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java index aa3aefd5b6207..8a4d451ce50a3 100644 --- a/core/java/android/widget/TextView.java +++ b/core/java/android/widget/TextView.java @@ -2439,7 +2439,11 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener * Subclasses override this to specify a default movement method. */ protected MovementMethod getDefaultMovementMethod() { - return null; + if (isFocusable() || isFocusableInTouchMode()) { + return ArrowKeyMovementMethod.getInstance(); + } else { + return null; + } } /** @@ -2654,9 +2658,12 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener /** * Gets the {@link android.text.method.MovementMethod} being used for this TextView, * which provides positioning, scrolling, and text selection functionality. - * This will frequently be null for non-EditText TextViews. + * By default, this returns an instance of {@link android.text.method.ArrowKeyMovementMethod} + * if this View is focusable or focusable in touch mode. + * * @return the movement method being used for this TextView. * @see android.text.method.MovementMethod + * @see android.text.method.ArrowKeyMovementMethod */ public final MovementMethod getMovementMethod() { return mMovement;