2014-01-23 21 views
0

Im爲聯繫人創建AutoCompleteTextView,爲selectionArgs字段賦值我從用戶輸入(與聯繫人姓名匹配的字母)獲得如何添加另一個過濾器(1更多的投影args或查詢選擇),所以我可以看到只有具有數字的聯繫人(ContactsContract.Contacts.HAS_PHONE_NUMBER +「= 1」)不只與電子郵件聯繫。AutoCompleteTextView輸入值爲projectionArgs值的聯繫人+僅使用電話號碼過濾聯繫人

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

我不知道,是它僅適用於我或其他發現同樣的情況,當我無法找到答案,我只是問問題,然後,我自己幾乎立即發現,答案:) 所有的i需要的是在選擇該行:

+ " 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,讓Android的

相關問題