我正在尝试找到一种在Android中使用SearchView执行搜索后根据相关性对搜索结果进行排序的好方法。对我而言,相关性意味着两个SQLite文本列中的匹配数
我正在使用CursorLoader,并且可以在结尾处给出构造函数的排序顺序
CursorLoader tLoader = new CursorLoader(
getActivity(), ContentProviderM.ARTICLE_CONTENT_URI,
tProj, tSel, tSelArgs, SORT_ORDER);
(或使用setSortOrder (String sortOrder)
方法设置)
但是我需要更多的灵活性,因为我希望对匹配的数量进行排序,而不仅仅是在一列或两列上
我能看到的唯一解决方案是在我的SQLite表中添加另一列,进行一些处理,并将该列作为CursorLoader的排序列提供
现在我的问题:使用SQLite语法向CursorLoader提供排序顺序信息的最佳方法是什么,避免添加新列? (这个SQLite代码看起来怎么样?)另外,我想问更多一般问题:我错过了这个问题的不同解决方案吗?
感谢任何帮助!亲切的问候, 托德
答案 0 :(得分:0)
根据content provider
,如果它只是传递到orderBy
字段,您可以执行任何操作。
orderBy 如何排序格式为SQL ORDER BY子句的行 (不包括ORDER BY本身)。传递null将使用默认值 排序顺序,可能是无序的。
你可以做任何你想做的事,这只是ORDER BY
P.S。它完全取决于Content Provider
,它选择忽略参数,你什么都不做。