I have a contact group identifier, and I would like to list its members. Here is the code I'm trying:
String[] projection = new String[]{ ContactsContract.CommonDataKinds.GroupMembership.CONTACT_ID }; Cursor contacts = getContentResolver().query( Data.CONTENT_URI, projection, ContactsContract.CommonDataKinds.GroupMembership.GROUP_ROW_ID + "=" + gid, null, null ); String result = ""; do { result += contacts.getString(contacts.getColumnIndex(ContactsContract.CommonDataKinds.GroupMembership.CONTACT_ID)) + " "; } while (contacts.moveToNext());
But this throws an exception:
03-24 17:11:33.097: ERROR/AndroidRuntime(10730): android.database.CursorIndexOutOfBoundsException: Index -1 requested, with a size of 2 ... 03-24 17:11:33.097: ERROR/AndroidRuntime(10730): at myapp.MultiSend$1.onItemClick(MultiSend.java:83)
which is the beginning of the line result += . Can someone tell me what I'm doing wrong, or suggest a better way to get the same information?
source share