diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/calendar/DeleteEventsActivity.java | 21 |
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){ |