summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorAdam Powell <adamp@google.com>2010-10-24 16:45:44 -0700
committerAdam Powell <adamp@google.com>2010-10-24 16:47:34 -0700
commitbf5f2b3ffebcf4201f228b73137f32486638775f (patch)
tree5f8d9b0867a692cbc0f930aaaadb8548921586fd /core
parenta8cbdb9a9ccb4cd6409be6caa47f810f1c2b6f4b (diff)
downloadframeworks_base-bf5f2b3ffebcf4201f228b73137f32486638775f.zip
frameworks_base-bf5f2b3ffebcf4201f228b73137f32486638775f.tar.gz
frameworks_base-bf5f2b3ffebcf4201f228b73137f32486638775f.tar.bz2
Fix bug 3005359 - onListItemClick and ActionMode conflict
CHOICE_MODE_MULTIPLE_MODAL should not dispatch item click events when in selection mode. Change-Id: I664fdd01e5c5691ea6ad071bc36a9497fd97ce4d
Diffstat (limited to 'core')
-rw-r--r--core/java/android/widget/AbsListView.java6
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;
}