按照显示名称按字母顺序排列Android应用程序中的联系人

时间:2014-01-08 22:09:24

标签: android sorting android-contacts

我知道这个问题已被提出但我似乎无法通过此处的内容和其他网络资源找到对我有用的任何内容。我想根据显示名称按字母顺序显示联系人,但是根据联系人的数量排序,这里是我的代码。

public class ContactActivity extends Activity implements OnItemClickListener {

    private ListView listview;
    private List<ContactBean> list = new ArrayList<ContactBean>();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.contact_list);

        listview = (ListView) findViewById(R.id.list);
        listview.setOnItemClickListener(this);

        Cursor phone = getContentResolver().query(
                ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null,
                null, null);
        while (phone.moveToNext()) {

            String name = phone
                    .getString(phone
                            .getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
            String phoneNumber = phone
                    .getString(phone
                            .getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));

            ContactBean objContact = new ContactBean();
            objContact.setName(name);
            objContact.setPhoneNo(phoneNumber);
            list.add(objContact);
        }
        phone.close();

任何人都可以通过重写此代码帮助我对联系人进行排序 提前谢谢。

1 个答案:

答案 0 :(得分:5)

弄清楚要做什么,我将代码更改为此,并且工作正常。

Cursor cursor = getContentResolver.query(Phone.CONTENT_URI, null, null, null,Phone.DISPLAY_NAME + " ASC");