diff options
| author | 2015-07-07 23:26:34 +0000 | |
|---|---|---|
| committer | 2015-07-07 23:26:36 +0000 | |
| commit | f12c91f5e67171bae0d36e89a507c96ff81d04a2 (patch) | |
| tree | 04b176be145b6dc14442b4c8fb89590eb4caab8f | |
| parent | 38586bfff9b8194c86f1363d63e971bbbc6ee843 (diff) | |
| parent | 2b460d08dc3e670916c334bbc807961bf9d3e8d2 (diff) | |
Merge "Remember focused child during layout when adapter has stable IDs" into mnc-dev
| -rw-r--r-- | core/java/android/widget/ListView.java | 3 |
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(); |