2010-06-11 66 views
1

我会操纵Android 2.O中的联系人组。我的代码如下:Android 2.0联系人组操作

要获取组的列表(编号和名称):

final String[] GROUP_PROJECTION = new String[] { ContactsContract.Groups._ID, ContactsContract.Groups.TITLE }; 
Cursor cursor = ctx.managedQuery(ContactsContract.Groups.CONTENT_URI, GROUP_PROJECTION, null, null, ContactsContract.Groups.TITLE + " ASC"); 

后来,在一个ListView中,我选择一个组(onClick事件),并阅读所有的联系人都属于这个选择的组由以下代码:

String where = ContactsContract.CommonDataKinds.GroupMembership.GROUP_ROW_ID 
      + "=" 
      + groupid 
      + " AND " 
      + ContactsContract.CommonDataKinds.GroupMembership.MIMETYPE 
      + "='" 
      + ContactsContract.CommonDataKinds.GroupMembership.CONTENT_ITEM_TYPE 
      + "'"; 

问题:ContactsContract.Groups._ID在第一查询不会在第二查询与ContactsContract.CommonDataKinds.GroupMembership.GROUP_ROW_ID匹配。

任何解决方案/建议?

回答

1

我在联系人组中工作了很多,而且我还记得那些代码片段来自我的其他帖子。该代码确实对我有用,并且也适用于您。

我不明白为什么两个数据不应该匹配。请再次检查。

+0

嗨Pentium10,我知道这个问题早该过期了。但是我有一个简短的问题要问关于这个集团/集团成员的问题。你之前是否遇到过缺失的groupmembership row_id?我注意到source_id和row_id返回相同的结果。 – Creniale 2011-05-09 02:53:17