我打算为我的应用程序创建 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);
谁能告诉我应该在投影中使用什么参数来实现这一点。