diff options
| -rw-r--r-- | core/java/android/widget/HorizontalScrollView.java | 8 | ||||
| -rw-r--r-- | core/java/android/widget/ScrollView.java | 8 |
2 files changed, 10 insertions, 6 deletions
diff --git a/core/java/android/widget/HorizontalScrollView.java b/core/java/android/widget/HorizontalScrollView.java index f6b1dbc99b40..db22a0cb1e31 100644 --- a/core/java/android/widget/HorizontalScrollView.java +++ b/core/java/android/widget/HorizontalScrollView.java @@ -511,8 +511,10 @@ public class HorizontalScrollView extends FrameLayout { switch (action & MotionEvent.ACTION_MASK) { case MotionEvent.ACTION_DOWN: { - final float x = ev.getX(); - mIsBeingDragged = true; + mIsBeingDragged = getChildCount() != 0; + if (!mIsBeingDragged) { + return false; + } /* * If being flinged and user touches, stop the fling. isFinished @@ -523,7 +525,7 @@ public class HorizontalScrollView extends FrameLayout { } // Remember where the motion event started - mLastMotionX = x; + mLastMotionX = ev.getX(); mActivePointerId = ev.getPointerId(0); break; } diff --git a/core/java/android/widget/ScrollView.java b/core/java/android/widget/ScrollView.java index 8558c70e40de..ce6da72a2c98 100644 --- a/core/java/android/widget/ScrollView.java +++ b/core/java/android/widget/ScrollView.java @@ -521,8 +521,10 @@ public class ScrollView extends FrameLayout { switch (action & MotionEvent.ACTION_MASK) { case MotionEvent.ACTION_DOWN: { - final float y = ev.getY(); - mIsBeingDragged = true; + mIsBeingDragged = getChildCount() != 0; + if (!mIsBeingDragged) { + return false; + } /* * If being flinged and user touches, stop the fling. isFinished @@ -537,7 +539,7 @@ public class ScrollView extends FrameLayout { } // Remember where the motion event started - mLastMotionY = y; + mLastMotionY = ev.getY(); mActivePointerId = ev.getPointerId(0); break; } |