summaryrefslogtreecommitdiffstats
path: root/src/com/android/calendar/DeleteEventsActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/calendar/DeleteEventsActivity.java')
-rw-r--r--src/com/android/calendar/DeleteEventsActivity.java21
1 files changed, 9 insertions, 12 deletions
diff --git a/src/com/android/calendar/DeleteEventsActivity.java b/src/com/android/calendar/DeleteEventsActivity.java
index abeb4718..da2b6bc5 100644
--- a/src/com/android/calendar/DeleteEventsActivity.java
+++ b/src/com/android/calendar/DeleteEventsActivity.java
@@ -255,7 +255,15 @@ public class DeleteEventsActivity extends ListActivity
@Override
public void onItemCheckedStateChanged(ActionMode mode, int position,
long id, boolean checked) {
- View v = mListView.getChildAt(position);
+ int firstVisiblePosition = mListView.getFirstVisiblePosition();
+ int actualPosition = position - firstVisiblePosition;
+
+ if (DEBUG) {
+ Log.i(TAG, "position , firstVisiblePosition, actualPosition : "
+ + position + " " + firstVisiblePosition + " " + actualPosition);
+ }
+
+ View v = mListView.getChildAt(actualPosition);
CheckBox checkbox = (CheckBox) v.findViewById(R.id.checkbox);
checkbox.toggle();
@@ -300,7 +308,6 @@ public class DeleteEventsActivity extends ListActivity
@Override
public void onDestroyActionMode(ActionMode mode) {
mListView.clearChoices();
- deselectAll();
mSelectedMap.clear();
mActionMode = null;
}
@@ -470,16 +477,6 @@ public class DeleteEventsActivity extends ListActivity
}
}
- private void deselectAll() {
- for (int i = 0; i < mListView.getCount(); i ++) {
- if (mSelectedMap.containsKey(mListView.getItemIdAtPosition(i))) {
- mListView.setItemChecked(i, false);
- }
- }
- mAdapter.notifyDataSetChanged();
- updateTitle();
- }
-
private void selectAll() {
mSelectedMap.clear();
for (Long event : mEventList){