【问题标题】:Order by not working in android cursor通过不在android光标中工作来订购
【发布时间】:2012-10-23 10:23:50
【问题描述】:

我有一些游标用于从 Android 检索联系人,一切正常,但问题是我无法使“订购依据”子句起作用。我尝试了很多东西,甚至使用了“Upper”和localized collection子句,但似乎不起作用,我使用哈希图来存储结果,所以我想我需要订购哈希图,但我不想要这个,因为 order by应该可以解决问题并节省处理时间。这是我的代码:

 private Cursor getContacts() {
        // Run query
        Uri uri = ContactsContract.Contacts.CONTENT_URI;
        String[] projection = new String[] { ContactsContract.Contacts._ID,
            ContactsContract.Contacts.DISPLAY_NAME };
        String selection = ContactsContract.Contacts.IN_VISIBLE_GROUP + " = '"
            + ("1") + "' AND "+ ContactsContract.Contacts.HAS_PHONE_NUMBER +"='" +("1")+"'";
        String sortOrder =" "+  ContactsContract.Contacts.DISPLAY_NAME +" ASC";

        CursorLoader query = new CursorLoader(context,uri, projection,
                selection, null,
            sortOrder);
        return query.loadInBackground();
      }

这是另一个按组获取联系人的方法:

contactInfo = new HashMap<String, ContactInfo>();
         Cursor c = context.getApplicationContext().getContentResolver().query(ContactsContract.Data.CONTENT_URI
                , new String[] {
                ContactsContract.Contacts.DISPLAY_NAME, ContactsContract.Contacts._ID, 
                ContactsContract.RawContacts.CONTACT_ID },
                ContactsContract.CommonDataKinds.GroupMembership.GROUP_ROW_ID + " = ?"+ " AND "
                + ContactsContract.Contacts.HAS_PHONE_NUMBER +"='" +("1")+"'",
                new String[] { groupId },"UPPER("+ ContactsContract.Contacts.DISPLAY_NAME + ") ASC");

获得光标后,我使用while(c.moveToNext()) 代码

【问题讨论】:

    标签: android sqlite contacts android-contentprovider android-contacts


    【解决方案1】:

    成功了,

    context.getContentResolver().query(CONTENT_URI, null, buf == null ? null : buf.toString(),args,Cons.ATTRIBUTES_NAME + " ASC");
    

    orderby 字符串中没有空格,

    =" "+  ContactsContract.Contacts.DISPLAY_NAME +" ASC"
    

    从上面的行中删除属性名称前的空格。

    【讨论】:

      猜你喜欢
      • 2016-01-16
      • 1970-01-01
      • 2020-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-06
      • 1970-01-01
      相关资源
      最近更新 更多