根据显示名称按字母顺序对android应用程序中的联系人进行排序

根据显示名称按字母顺序对android应用程序中的联系人进行排序,android,sorting,android-contacts,Android,Sorting,Android Contacts,我知道这个问题已经被问过了,但我似乎无法从这里的内容和其他网络资源中找到任何适合我的东西。我想根据显示名称按字母顺序显示联系人,但它们是根据联系人的编号排序的。这是我的代码 public class ContactActivity extends Activity implements OnItemClickListener { private ListView listview; private List<ContactBean> list = new Array

我知道这个问题已经被问过了,但我似乎无法从这里的内容和其他网络资源中找到任何适合我的东西。我想根据显示名称按字母顺序显示联系人,但它们是根据联系人的编号排序的。这是我的代码

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();
公共类ContactActivity扩展活动实现了McClickListener{
私有列表视图列表视图;
私有列表=新的ArrayList();
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.contact_列表);
listview=(listview)findViewById(R.id.list);
setOnItemClickListener(this);
游标phone=getContentResolver().query(
ContactsContract.CommonDataTypes.Phone.CONTENT\u URI,null,null,
空,空);
while(phone.moveToNext()){
字符串名称=电话
.getString(电话)
.getColumnIndex(ContactsContract.CommonDataTypes.Phone.DISPLAY_NAME));
字符串phoneNumber=电话
.getString(电话)
.getColumnIndex(ContactsContract.CommonDataTypes.Phone.NUMBER));
ContactBean objContact=新ContactBean();
objContact.setName(名称);
objContact.setPhoneNo(电话号码);
list.add(objContact);
}
phone.close();
有人能帮我重新编写这个代码来分类我的联系人吗
提前谢谢。

我知道该怎么做了,我把代码改成了这个,效果很好

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

我知道该怎么做了,我把代码改成了这个,效果很好

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