diff options
author | Adam Powell <adamp@google.com> | 2010-02-18 15:40:33 -0800 |
---|---|---|
committer | Adam Powell <adamp@google.com> | 2010-02-18 15:40:33 -0800 |
commit | d7507834e73f32b4c82839036dc3897a1587e668 (patch) | |
tree | 98f3a846a969c8dd4bc4740d2fdd13d0abca3529 /core/java | |
parent | bcbf564a3f527266693233cacd6728770d1a65fd (diff) | |
download | frameworks_base-d7507834e73f32b4c82839036dc3897a1587e668.zip frameworks_base-d7507834e73f32b4c82839036dc3897a1587e668.tar.gz frameworks_base-d7507834e73f32b4c82839036dc3897a1587e668.tar.bz2 |
Don't cache mFirstPosition before a layoutChildren in ListView.onFocusChanged
Diffstat (limited to 'core/java')
-rw-r--r-- | core/java/android/widget/ListView.java | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/core/java/android/widget/ListView.java b/core/java/android/widget/ListView.java index 5308725..2feed03 100644 --- a/core/java/android/widget/ListView.java +++ b/core/java/android/widget/ListView.java @@ -3092,9 +3092,9 @@ public class ListView extends AbsListView { previouslyFocusedRect.offset(mScrollX, mScrollY); final ListAdapter adapter = mAdapter; - final int firstPosition = mFirstPosition; - // Don't cache the result of getChildCount here, it could change in layoutChildren. - if (adapter.getCount() < getChildCount() + firstPosition) { + // Don't cache the result of getChildCount or mFirstPosition here, + // it could change in layoutChildren. + if (adapter.getCount() < getChildCount() + mFirstPosition) { mLayoutMode = LAYOUT_NORMAL; layoutChildren(); } @@ -3104,6 +3104,7 @@ public class ListView extends AbsListView { Rect otherRect = mTempRect; int minDistance = Integer.MAX_VALUE; final int childCount = getChildCount(); + final int firstPosition = mFirstPosition; for (int i = 0; i < childCount; i++) { // only consider selectable views |