OSDN Git Service

Fixing CursorIndexOutOfBoundsException in call log UI
authorDmitri Plotnikov <dplotnikov@google.com>
Fri, 5 Feb 2010 01:43:39 +0000 (17:43 -0800)
committerDmitri Plotnikov <dplotnikov@google.com>
Fri, 5 Feb 2010 01:43:39 +0000 (17:43 -0800)
Bug: 2419501
Change-Id: I98bc08f60555d4d46685a95fa802d7c501737abb

src/com/android/contacts/GroupingListAdapter.java

index 885007f..9d494a3 100644 (file)
@@ -419,13 +419,20 @@ public abstract class GroupingListAdapter extends BaseAdapter {
 
     public Object getItem(int position) {
         obtainPositionMetadata(mPositionMetadata, position);
-        mCursor.moveToPosition(mPositionMetadata.cursorPosition);
-        return mCursor;
+        if (mCursor.moveToPosition(mPositionMetadata.cursorPosition)) {
+            return mCursor;
+        } else {
+            return null;
+        }
     }
 
     public long getItemId(int position) {
-        getItem(position);
-        return mCursor.getLong(mRowIdColumnIndex);
+        Object item = getItem(position);
+        if (item != null) {
+            return mCursor.getLong(mRowIdColumnIndex);
+        } else {
+            return -1;
+        }
     }
 
     public View getView(int position, View convertView, ViewGroup parent) {