diff --git a/core/java/android/widget/AbsListView.java b/core/java/android/widget/AbsListView.java index 8ef2aebffd4a9..66461a7f51d1d 100644 --- a/core/java/android/widget/AbsListView.java +++ b/core/java/android/widget/AbsListView.java @@ -2483,16 +2483,9 @@ public abstract class AbsListView extends AdapterView implements Te delta = Math.max(-(getHeight() - mPaddingBottom - mPaddingTop - 1), delta); } - // Check to see if we have bumped into the scroll limit - View motionView = getChildAt(mMotionPosition - mFirstPosition); - int oldTop = 0; - if (motionView != null) { - oldTop = motionView.getTop(); - } + final boolean atEnd = trackMotionScroll(delta, delta); - trackMotionScroll(delta, delta); - - if (more) { + if (more && !atEnd) { invalidate(); mLastFlingY = y; post(this); diff --git a/core/java/android/widget/HorizontalScrollView.java b/core/java/android/widget/HorizontalScrollView.java index 20c2fe444a6d9..32a91464f4bee 100644 --- a/core/java/android/widget/HorizontalScrollView.java +++ b/core/java/android/widget/HorizontalScrollView.java @@ -1022,6 +1022,7 @@ public class HorizontalScrollView extends FrameLayout { onScrollChanged(x, y, oldX, oldY); } } + awakenScrollBars(); // Keep on drawing until the animation has finished. postInvalidate(); diff --git a/core/java/android/widget/ScrollView.java b/core/java/android/widget/ScrollView.java index a02aa00eb718e..873dc67ec6514 100644 --- a/core/java/android/widget/ScrollView.java +++ b/core/java/android/widget/ScrollView.java @@ -1023,6 +1023,7 @@ public class ScrollView extends FrameLayout { onScrollChanged(x, y, oldX, oldY); } } + awakenScrollBars(); // Keep on drawing until the animation has finished. postInvalidate();