diff --git a/core/java/android/widget/AbsListView.java b/core/java/android/widget/AbsListView.java index 871f7527c51ff..33a8531194ac0 100644 --- a/core/java/android/widget/AbsListView.java +++ b/core/java/android/widget/AbsListView.java @@ -1077,8 +1077,8 @@ public abstract class AbsListView extends AdapterView implements Te checkedStateChanged = true; } else if (mChoiceMode == CHOICE_MODE_SINGLE) { boolean checked = !mCheckStates.get(position, false); - mCheckStates.clear(); if (checked) { + mCheckStates.clear(); mCheckStates.put(position, true); if (mCheckedIdStates != null && mAdapter.hasStableIds()) { mCheckedIdStates.clear();