diff options
| -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(); |