2012-01-04 26 views
0

表明我通过安卓ContactsContract查询到在列表视图

private Cursor cursor; 
private static final String SORT_ORDER = ContactsContract.Contacts.DISPLAY_NAME + " ASC "; 

String[] myProjection = new String[] { ContactsContract.Contacts._ID, 
      ContactsContract.Contacts.DISPLAY_NAME, 
      ContactsContract.Contacts.PHOTO_ID, 
      ContactsContract.Contacts.HAS_PHONE_NUMBER, 
      ContactsContract.Contacts.STARRED}; 

cursor = managedQuery(ContactsContract.Contacts.CONTENT_URI, myProjection, null, null, SORT_ORDER); 

是查询联系人和其给我的所有联系人details.But我的问题是它没有条目well.I显示联系人要查询并只显示那些至少有电子邮件或电话号码的联系人。如果联系人没有附加电话或电子邮件,我不想在我的列表视图中显示。我需要在查询中筛选哪些选择参数。

感谢

回答

0

查询您的要求,使用这样的事情后:

if (Integer.parseInt(cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) 
{ 
//show in Listview 
} 
else 
    { 
    Cursor emailCur = cr.query(ContactsContract.CommonDataKinds.Email.CONTENT_URI,null,ContactsContract.CommonDataKinds.Email.CONTACT_ID + " = ?",new String[]{id}, null); 
    if(emailCur.moveToNext()) 
    { 
    //show in Listview 
    } 
    }