我打算为我的应用创建cursorjoiner。我想使用cursorjoiner加入显示名称和电子邮件ID。我正在尝试Android 1.6。
当我查询电子邮件ID列表时,我得到一个例外:
03-30 13:08:15.609: ERROR/AndroidRuntime(302): Caused by: java.lang.IllegalArgumentException: Invalid column person
我的代码如下
String[] projection1 = new String[] {
People._ID,
People.DISPLAY_NAME
} ;
String[] projection2 = new String[] {
Contacts.ContactMethods.PERSON_ID,
Contacts.ContactMethods.DATA
} ;
Cursor cur = cr.query(People.CONTENT_URI, projection1, null, null, null);
Cursor emailCur = cr.query( Contacts.ContactMethods.CONTENT_EMAIL_URI,
projection2,
null, null, null);
我查看了文档,它说PERSON_ID
是一个有效的条目。
此外,如果我在查询中使用相同的列作为参数,则可以正常工作。
emailCur = cr.query( Contacts.ContactMethods.CONTENT_EMAIL_URI,
projection2,
Contacts.ContactMethods.PERSON_ID + " = ?",
new String[]{id}, null);
任何人都可以告诉我应该在投影中使用哪个参数来实现这一目标。