我有联系人组的ID,我想列出其成员。下面是我想要的代码:你如何获得联系人组的成员?
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());
但是,这将引发异常:
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)
这是开始result +=
行。任何人都可以告诉我我做错了什么,或者建议更好的方式来获得相同的信息?
我很高兴它帮助:) – 2011-03-28 12:41:03
'startManagingCursor()'现在已经过时,看到http://www.androiddesignpatterns.com/2012/07/装载机和-loadermanager-background.html – 2012-11-06 22:14:42