这是我从我的设备获取联系人姓名的代码。我遇到的问题是,在我的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]);
}
答案 0 :(得分:2)
我想你需要检索短信列表然后与每个联系号码进行比较,以找到每个联系人的实际SMS消息数量。完成后,您可以从列表中删除包含0条消息的联系人。 This is a good link regarding working with SMS