@Override
public void onLoadFinished(Loader<Cursor> loader, Cursor cursor) {
contactsAdapter.clear();
Set<String> favoriteContacts = CustodeUtils.getFavoriteContacts(this);
LinkedList<ContactsAdapter.ContactItem> tempArray = new LinkedList<>();
int favoriteLimit = 0; // usato per ordinare i contatti preferiti in cima alla lista
int nameColumnIndex = cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME);
int numberColumnIndex = cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER);
while (cursor.moveToNext()) {
String name = cursor.getString(nameColumnIndex);
String number = cursor.getString(numberColumnIndex);
boolean favorite = favoriteContacts.remove(number);
if (favorite)
tempArray.add(favoriteLimit++, new ContactsAdapter.ContactItem(name, number, true));
else
tempArray.addLast(new ContactsAdapter.ContactItem(name, number, false));
}
if (favoriteContacts.size() > 0) // => favoriteContacts contiene numeri che non sono più presenti in rubrica
for (String favoriteContact : favoriteContacts)
tempArray.addFirst(new ContactsAdapter.ContactItem("", favoriteContact, true));
contactsAdapter.addAll(tempArray);
}
ContactsPickerActivity.java 文件源码
java
阅读 39
收藏 0
点赞 0
评论 0
项目:custode
作者:
评论列表
文章目录