如何从我的Arraylist中删除与收件箱中的名称不匹配的名称?

时间:2012-06-01 08:38:30

标签: android string arraylist sms contacts

这是我从我的设备获取联系人姓名的代码。我遇到的问题是,在我的listview中,“elements”将显示联系人列表中的每个名称。有关如何删除没有短信的名字的任何想法?

    // 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]);
    }

1 个答案:

答案 0 :(得分:2)

我想你需要检索短信列表然后与每个联系号码进行比较,以找到每个联系人的实际SMS消息数量。完成后,您可以从列表中删除包含0条消息的联系人。 This is a good link regarding working with SMS