我为联系人制作AutoCompleteTextView,我从用户输入获得的selectionArgs字段的值(与联系人姓名匹配的字母)如何添加另一个过滤器(在查询选择中还有1个projectionArgs或者其他内容)所以我只能看到有联系人的联系人号码(ContactsContract.Contacts.HAS_PHONE_NUMBER +“= 1”)不仅仅与电子邮件联系。
static final String[] CONTACTS_SUMMARY_PROJECTION = new String[]{
ContactsContract.Contacts.DISPLAY_NAME,
ContactsContract.Contacts._ID,
ContactsContract.Contacts.PHOTO_THUMBNAIL_URI,
ContactsContract.Contacts.HAS_PHONE_NUMBER
};
cursorLoader = new CursorLoader(getApplicationContext(), ContactsContract.Contacts.CONTENT_URI, CONTACTS_SUMMARY_PROJECTION,
ContactsContract.Contacts.DISPLAY_NAME + " LIKE ?", new String[]{"%" + value + "%"},null);
答案 0 :(得分:0)
我想知道,它是否仅适用于我或其他注意到相同的情况,当我无法找到答案时,我只是问问题然后,几乎立即找到答案:) 我所需要的只是选择中的那一行:
+ " AND " + ContactsContract.Contacts.HAS_PHONE_NUMBER + " = 1"
整个查询:
cursorLoader = new CursorLoader(getApplicationContext(),
ContactsContract.Contacts.CONTENT_URI, CONTACTS_SUMMARY_PROJECTION,
ContactsContract.Contacts.DISPLAY_NAME + " LIKE ?"
+ " AND " + ContactsContract.Contacts.HAS_PHONE_NUMBER + " = 1",
new String[]{"%" + value + "%"},
null);
如果您对此有更好的解决方案,请添加,我对SQLite for Android非常陌生