diff --git a/core/java/android/widget/AbsListView.java b/core/java/android/widget/AbsListView.java index ce236c026548d..5bded0b796599 100644 --- a/core/java/android/widget/AbsListView.java +++ b/core/java/android/widget/AbsListView.java @@ -3155,7 +3155,10 @@ public abstract class AbsListView extends AdapterView implements Te } if (!inTouchMode && mSelectedPosition != INVALID_POSITION) { - positionSelector(getChildAt(mSelectedPosition - mFirstPosition)); + final int childIndex = mSelectedPosition - mFirstPosition; + if (childIndex >= 0 && childIndex < getChildCount()) { + positionSelector(getChildAt(childIndex)); + } } mBlockLayoutRequests = false;