summaryrefslogtreecommitdiffstats
path: root/core/java
diff options
context:
space:
mode:
authorAdam Powell <adamp@google.com>2010-02-18 15:40:33 -0800
committerAdam Powell <adamp@google.com>2010-02-18 15:40:33 -0800
commitd7507834e73f32b4c82839036dc3897a1587e668 (patch)
tree98f3a846a969c8dd4bc4740d2fdd13d0abca3529 /core/java
parentbcbf564a3f527266693233cacd6728770d1a65fd (diff)
downloadframeworks_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.java7
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