diff options
| author | 2011-10-31 18:18:33 -0700 | |
|---|---|---|
| committer | 2011-10-31 18:18:33 -0700 | |
| commit | b1db20bde5e00c8cdd1a97b07ddcc41f321d3db8 (patch) | |
| tree | 24e67db25561dfd63763a4c8d10456bb3d1d985f | |
| parent | af3a854b549409c4ad77c686e860f97ea86706a0 (diff) | |
| parent | dcce1216b0066f3f9ed1b01a485684e8617e7ea4 (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.java | 4 |
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(); } |