CursorLoader 选择
Posted
技术标签:
【中文标题】CursorLoader 选择【英文标题】:CursorLoader selection 【发布时间】: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
请告知上述选择变量必须采用的参数,例如按字母顺序对联系人进行排序。
【问题讨论】:
【参考方案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 抱歉回复晚了,我正忙于应用程序的其他部分。非常感谢它确实有效以上是关于CursorLoader 选择的主要内容,如果未能解决你的问题,请参考以下文章
使用 Cursor Loader 选择 ListView 中的第一项
使用 EXTRA_ADDRESS_BOOK_INDEX 支持 CursorLoader