diff options
| -rw-r--r-- | core/java/android/widget/AbsListView.java | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/core/java/android/widget/AbsListView.java b/core/java/android/widget/AbsListView.java index 9e7cc44..740521b 100644 --- a/core/java/android/widget/AbsListView.java +++ b/core/java/android/widget/AbsListView.java @@ -856,6 +856,7 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te @Override public boolean performItemClick(View view, int position, long id) { boolean handled = false; + boolean dispatchItemClick = true; if (mChoiceMode != CHOICE_MODE_NONE) { handled = true; @@ -879,6 +880,7 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te if (mChoiceActionMode != null) { mMultiChoiceModeCallback.onItemCheckedStateChanged(mChoiceActionMode, position, id, newValue); + dispatchItemClick = false; } } else if (mChoiceMode == CHOICE_MODE_SINGLE) { boolean newValue = !mCheckStates.get(position, false); @@ -900,7 +902,9 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te requestLayout(); } - handled |= super.performItemClick(view, position, id); + if (dispatchItemClick) { + handled |= super.performItemClick(view, position, id); + } return handled; } |
