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