diff options
| author | Adam Powell <adamp@google.com> | 2010-10-24 16:57:21 -0700 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2010-10-24 16:57:21 -0700 |
| commit | aa6110d84024776674131eb3b7a609499cf48810 (patch) | |
| tree | c9da75042459c87660baaeebbe019c31ff86c944 /core | |
| parent | f333d22e4efbb4a685c312f98e0d936fe14e3af6 (diff) | |
| parent | bf5f2b3ffebcf4201f228b73137f32486638775f (diff) | |
| download | frameworks_base-aa6110d84024776674131eb3b7a609499cf48810.zip frameworks_base-aa6110d84024776674131eb3b7a609499cf48810.tar.gz frameworks_base-aa6110d84024776674131eb3b7a609499cf48810.tar.bz2 | |
Merge "Fix bug 3005359 - onListItemClick and ActionMode conflict"
Diffstat (limited to 'core')
| -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; } |
