summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Adam Powell <adamp@google.com> 2011-10-31 18:18:33 -0700
committer Android (Google) Code Review <android-gerrit@google.com> 2011-10-31 18:18:33 -0700
commitb1db20bde5e00c8cdd1a97b07ddcc41f321d3db8 (patch)
tree24e67db25561dfd63763a4c8d10456bb3d1d985f
parentaf3a854b549409c4ad77c686e860f97ea86706a0 (diff)
parentdcce1216b0066f3f9ed1b01a485684e8617e7ea4 (diff)
Merge "Fix bug 5514022 - ListView should not auto-scroll selected item to top when gaining focus" into ics-mr1
-rw-r--r--core/java/android/widget/ListView.java4
1 files changed, 3 insertions, 1 deletions
diff --git a/core/java/android/widget/ListView.java b/core/java/android/widget/ListView.java
index 9ef1aa1a1f2d..7f7a3a715a23 100644
--- a/core/java/android/widget/ListView.java
+++ b/core/java/android/widget/ListView.java
@@ -3361,6 +3361,7 @@ public class ListView extends AbsListView {
final ListAdapter adapter = mAdapter;
int closetChildIndex = -1;
+ int closestChildTop = 0;
if (adapter != null && gainFocus && previouslyFocusedRect != null) {
previouslyFocusedRect.offset(mScrollX, mScrollY);
@@ -3392,12 +3393,13 @@ public class ListView extends AbsListView {
if (distance < minDistance) {
minDistance = distance;
closetChildIndex = i;
+ closestChildTop = other.getTop();
}
}
}
if (closetChildIndex >= 0) {
- setSelection(closetChildIndex + mFirstPosition);
+ setSelectionFromTop(closetChildIndex + mFirstPosition, closestChildTop);
} else {
requestLayout();
}