summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Alan Viverette <alanv@google.com> 2015-07-07 23:26:34 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2015-07-07 23:26:36 +0000
commitf12c91f5e67171bae0d36e89a507c96ff81d04a2 (patch)
tree04b176be145b6dc14442b4c8fb89590eb4caab8f
parent38586bfff9b8194c86f1363d63e971bbbc6ee843 (diff)
parent2b460d08dc3e670916c334bbc807961bf9d3e8d2 (diff)
Merge "Remember focused child during layout when adapter has stable IDs" into mnc-dev
-rw-r--r--core/java/android/widget/ListView.java3
1 files changed, 2 insertions, 1 deletions
diff --git a/core/java/android/widget/ListView.java b/core/java/android/widget/ListView.java
index 9568492d254f..c5632ec91fe4 100644
--- a/core/java/android/widget/ListView.java
+++ b/core/java/android/widget/ListView.java
@@ -1621,7 +1621,8 @@ public class ListView extends AbsListView {
// We can remember the focused view to restore after re-layout
// if the data hasn't changed, or if the focused position is a
// header or footer.
- if (!dataChanged || isDirectChildHeaderOrFooter(focusedChild)) {
+ if (!dataChanged || isDirectChildHeaderOrFooter(focusedChild)
+ || focusedChild.hasTransientState() || mAdapterHasStableIds) {
focusLayoutRestoreDirectChild = focusedChild;
// Remember the specific view that had focus.
focusLayoutRestoreView = findFocus();