Merge "Correct the way of avoiding crash" into ub-contactsdialer-a-dev
diff --git a/src/com/android/contacts/list/MultiSelectContactsListFragment.java b/src/com/android/contacts/list/MultiSelectContactsListFragment.java
index 43f8ea9..4d2eae8 100644
--- a/src/com/android/contacts/list/MultiSelectContactsListFragment.java
+++ b/src/com/android/contacts/list/MultiSelectContactsListFragment.java
@@ -128,9 +128,10 @@
                 getAdapter().toggleSelectionOfContactId(Long.valueOf(contactId));
                 // Manually send clicked event if there is a checkbox.
                 // See b/24098561.  TalkBack will not read it otherwise.
-                final int adjPosition = position + getListView().getHeaderViewsCount();
-                if (getListView() != null && adjPosition < getListView().getChildCount()) {
-                    getListView().getChildAt(adjPosition).sendAccessibilityEvent(AccessibilityEvent
+                final int index = position + getListView().getHeaderViewsCount() - getListView()
+                        .getFirstVisiblePosition();
+                if (index >= 0 && index < getListView().getChildCount()) {
+                    getListView().getChildAt(index).sendAccessibilityEvent(AccessibilityEvent
                             .TYPE_VIEW_CLICKED);
                 }
             }