From 498e43dd8e0314e1147321bef57d4fdd82cb5284 Mon Sep 17 00:00:00 2001 From: Adam Powell Date: Tue, 1 Mar 2011 15:39:53 -0800 Subject: Fix bug 3501411 - ListView should ignore "up" events outside of its view Do not dispatch item clicks if the up event occurs completely outside of list bounds. Change-Id: I2bc38040bcc98944e1449affcdbd75e0194637cf --- core/java/android/widget/AbsListView.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'core/java/android/widget') diff --git a/core/java/android/widget/AbsListView.java b/core/java/android/widget/AbsListView.java index 5a4bd04..2925632 100644 --- a/core/java/android/widget/AbsListView.java +++ b/core/java/android/widget/AbsListView.java @@ -3018,7 +3018,11 @@ public abstract class AbsListView extends AdapterView implements Te case TOUCH_MODE_DONE_WAITING: final int motionPosition = mMotionPosition; final View child = getChildAt(motionPosition - mFirstPosition); - if (child != null && !child.hasFocusable()) { + + final float x = ev.getX(); + final boolean inList = x > mListPadding.left && x < getWidth() - mListPadding.right; + + if (child != null && !child.hasFocusable() && inList) { if (mTouchMode != TOUCH_MODE_DOWN) { child.setPressed(false); } -- cgit v1.1