【问题标题】:CursorLoader selectionCursorLoader 选择
【发布时间】:2016-10-24 07:06:43
【问题描述】:

我设法在我的 Android 应用中查看了联系人列表,该列表未排序,因此我想将其从 A 到 Z 排序。

我的 CursorLoader 如下所示:

private static final String[] PROJECTION = {
        ContactsContract.Contacts._ID,
        ContactsContract.Contacts.LOOKUP_KEY,
        Build.VERSION.SDK_INT
                >=Build.VERSION_CODES.HONEYCOMB ?
                ContactsContract.Contacts.DISPLAY_NAME_PRIMARY :
                ContactsContract.Contacts.DISPLAY_NAME
};

private static final String SELECTION =null;
private String[] mSelectionArgs ={ };

public Loader<Cursor> onCreateLoader(int loaderId, Bundle args) {

    return new CursorLoader {
            getApplicationContext(),
            ContactsContract.Contacts.CONTENT_URI,
            PROJECTION,
            SELECTION,
            mSelectionArgs,
            null
    }
}

请告知上述选择变量必须采用的参数,例如按字母顺序对联系人进行排序。

【问题讨论】:

    标签: java android android-contacts android-cursorloader


    【解决方案1】:

    将最后一个构造函数参数改为“data ASC”:

    new CursorLoader(getActivity(), 
            ContactsContract.Contacts.CONTENT_URI,
            PROJECTION,
            SELECTION,
            mSelectionArgs,
            "data ASC");
    

    其中 data 是应按字母顺序排序的列。

    【讨论】:

    • nope did not work 发出错误。没有这样的列:编译时的数据(代码 1)。当我删除“数据 ASC”并放回 null 时,它运行良好。
    • @the_big_blackbox 要按字母顺序排序的列的名称是什么?
    • 嗨 alexios 这是 display_name 列,我已经更新了上面的投影变量。
    • @the_big_blackbox 你能试试我更新的答案吗?这行得通吗?
    • 嗨 alexios 抱歉回复晚了,我正忙于应用程序的其他部分。非常感谢它确实有效
    猜你喜欢
    • 1970-01-01
    • 2012-10-11
    • 2017-04-09
    • 2011-11-08
    • 2012-01-09
    • 2017-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多