package com.example.readcontaectlist;
import java.util.ArrayList;
import android.app.Activity;
import android.content.ContentResolver;
import android.database.Cursor;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class MainActivity extends Activity {
ListView listView;
ArrayAdapter<String> adapter;
ArrayList<String> arrayList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView=(ListView) findViewById(R.id.listView1);
arrayList=new ArrayList<String>();
arrayList=getNumber(getContentResolver());
adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, arrayList);
listView.setAdapter(adapter);
}
public ArrayList<String> getNumber(ContentResolver cr)
{
ArrayList<String> contactList=new ArrayList<String>();
Cursor phones = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,null,null, null);
// use the cursor to access the contacts
while (phones.moveToNext())
{
String name=phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
// get display name
String phoneNumber = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
contactList.add(name+" "+phoneNumber);
}
return contactList;
}
}
ответ
Для этого вы можете просто использовать Коллекции.
Collections.sort(contactList, String.CASE_INSENSITIVE_ORDER);
Спасибо за ваше предложение .. это сработало .. – user5079881
Можем ли мы сгруппировать эти контакты? Как контакт может иметь много чисел .. так могут быть сгруппированы те числа, принадлежащие одному контакту? – user5079881
Вы можете использовать карту, получая контакты из преобразователя контента. И поместите контакты на основе имени в качестве ключа и списка чисел в качестве значения. –
Вы можете сортировать свой список с помощью сортировочного компаратора. Пример:
Collections.sort(arrayList, Comparator_NAME);
private Comparator<? super String> Comparator_NAME = new Comparator<String>() {
@Override
public int compare(String arg0, String arg1) {
return arg0.toLowerCase().compareTo(arg1.toLowerCase());
}
};
- 1. VBA сортировать список контактов Outlook
- 2. Android: Список контактов не сортировать по имени
- 3. Список контактов через PhoneGap в андроиде и КСН
- 4. Список контактов для нескольких контактов
- 5. Список контактов в ListView
- 6. Обновления название организации в андроиде контактов программно
- 7. Пользовательский список в андроиде?
- 8. Контрольный список контактов для контактов Android
- 9. Результат заказа Список контактов @ManyToMany
- 10. Сортировать список список Эрл
- 11. Список контактов показывает пустой список в wp7
- 12. обновить список контактов механизм
- 13. Как сделать список контактов?
- 14. Импорт MSN список контактов
- 15. Список контактов для пользователя
- 16. Список контактов с телефонами
- 17. Gather Outlook список контактов
- 18. Список полей контактов Kentico
- 19. Blackberry - получить список контактов
- 20. Список контактов в категории Joomla
- 21. Проверить список контактов в Android
- 22. Как создать список контактов?
- 23. Shell scripting: Список контактов
- 24. Список контактов Javascript
- 25. Список контактов показывает пусто
- 26. список контактов с пометкой
- 27. Как отсортировать список заказного типа в андроиде
- 28. Список контактов PHP/MySQL
- 29. сортировать список в C#
- 30. SugarCRM - Заказать список контактов по неактивности.
Я не отрезал тело цикла while должным образом. btw Вы имеете в виду сортировку по алфавиту, как по имени? Или сортировать по? возможно, вы можете обновить свой вопрос с этим .. и исправить цикл while loop :) –