summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/widget/AbsListView.java16
1 files changed, 7 insertions, 9 deletions
diff --git a/core/java/android/widget/AbsListView.java b/core/java/android/widget/AbsListView.java
index 9903b7e88ed9..e963f53dd915 100644
--- a/core/java/android/widget/AbsListView.java
+++ b/core/java/android/widget/AbsListView.java
@@ -2568,7 +2568,13 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te
selectorRect.right += mSelectionRightPadding;
selectorRect.bottom += mSelectionBottomPadding;
- // Update the selector drawable.
+ // Update the child enabled state prior to updating the selector.
+ final boolean isChildViewEnabled = sel.isEnabled();
+ if (mIsChildViewEnabled != isChildViewEnabled) {
+ mIsChildViewEnabled = isChildViewEnabled;
+ }
+
+ // Update the selector drawable's state and position.
final Drawable selector = mSelector;
if (selector != null) {
if (positionChanged) {
@@ -2588,14 +2594,6 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te
selector.setHotspot(x, y);
}
}
-
- final boolean isChildViewEnabled = mIsChildViewEnabled;
- if (sel.isEnabled() != isChildViewEnabled) {
- mIsChildViewEnabled = !isChildViewEnabled;
- if (getSelectedItemPosition() != INVALID_POSITION) {
- refreshDrawableState();
- }
- }
}
@Override