2012-06-01 4 views
0

Ceci est mon code pour obtenir les noms des contacts de mon appareil. Le problème que j'ai est que dans ma liste, "éléments" affichera tous les noms dans la liste de contacts. Des idées de comment je peux supprimer les noms qui n'ont pas de SMS?Comment supprimer les noms de mon Arraylist qui ne correspondent pas aux noms de ma boîte de réception?

// converts contacts from cursor to arraylist 
    nameList = new ArrayList<String>(); 
    cursor = getContacts(); 
    while(cursor.moveToNext()){ 

     nameList.add(cursor.getString(cursor.getColumnIndex(
        ContactsContract.Data.DISPLAY_NAME))); 
    } 

    // convert arraylist to string array 
    name = new String[nameList.size()]; 
    name = nameList.toArray(name); 

    // new arraylist for after contacts with no messages are removed 
    elements = new ArrayList<String>(); 

    //convert back to an arraylist 
    for(int i = 0; i < name.length; i++){ 
     elements.add(name[i]); 
    } 

Répondre

2

Je suppose que vous avez besoin de récupérer la liste des sms et faire rapport à chaque numéro de contact pour trouver le nombre réel de messages SMS par contact. Une fois que vous avez cela, vous pouvez supprimer les contacts de la liste qui ont 0 messages. This is a good link regarding working with SMS

Questions connexes