diff options
| -rw-r--r-- | core/java/android/widget/TextView.java | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java index 29e9e91..97d90b4 100644 --- a/core/java/android/widget/TextView.java +++ b/core/java/android/widget/TextView.java @@ -8276,8 +8276,11 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener @Override protected void onScrollChanged(int horiz, int vert, int oldHoriz, int oldVert) { super.onScrollChanged(horiz, vert, oldHoriz, oldVert); - if (mEditor != null && getEditor().mPositionListener != null) { - getEditor().mPositionListener.onScrollChanged(); + if (mEditor != null) { + if (getEditor().mPositionListener != null) { + getEditor().mPositionListener.onScrollChanged(); + } + getEditor().mTextDisplayListIsValid = false; } } @@ -10684,9 +10687,12 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener return; } - if (offset != mPreviousOffset || parentScrolled) { - updateSelection(offset); - addPositionToTouchUpFilter(offset); + boolean offsetChanged = offset != mPreviousOffset; + if (offsetChanged || parentScrolled) { + if (offsetChanged) { + updateSelection(offset); + addPositionToTouchUpFilter(offset); + } final int line = mLayout.getLineForOffset(offset); mPositionX = (int) (mLayout.getPrimaryHorizontal(offset) - 0.5f - mHotspotX); |
