2014-01-08 41 views
1

我知道這個問題已被問到已經但我似乎無法找到任何適合我的內容和其他網絡資源的內容。我想根據顯示名稱按字母順序顯示聯繫人,但是他們根據聯繫人的號碼排序,這裏是我的代碼。根據顯示名稱按字母順序排序Android應用程序中的聯繫人

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(); 

任何一個可以幫助我通過提前重寫這段代碼 感謝我的聯繫人排序。

回答

4

想通了什麼,我改變了代碼,並且它工作正常。

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