我有聯繫人組的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