android – CursorAdapter动态排序

android – CursorAdapter动态排序,第1张

概述我目前使用带有Loader的CursorAdapter. Loader加载的数据包含一个位置.我想从最近的到最远的地方订购我的物品.我已经计算了显示它的距离,我现在需要找到一种动态排序数据的方法. 我可能每次我的数据更改时都会修改CursorLoader排序,但是一次又一次地执行相同的SQL查询只是为了改变顺序看起来对我来说太过分了…… 有没有办法动态排序CursorAdapter中的数据? 您应 我目前使用带有Loader的CursorAdapter. Loader加载的数据包含一个位置.我想从最近的到最远的地方订购我的物品.我已经计算了显示它的距离,我现在需要找到一种动态排序数据的方法.

我可能每次我的数据更改时都会修改CursorLoader排序,但是一次又一次地执行相同的SQL查询只是为了改变顺序看起来对我来说太过分了……

有没有办法动态排序CursorAdapter中的数据?

解决方法 您应该使用sortOrder – CursorLoader’s构造函数的最后一个参数.

假设你的表有纬度为lat的列和经度为lon的列.用户的位置也通过纬度/经度userLat和userLon描述.对于排序我们不需要知道精确的距离 – 近似距离就足够了.为此你可以使用毕达哥拉斯定理.

sortOder将是这样的:abs(lat – userLat)* abs(lat – userLat)abs(lon-userLon)* abs(lon-userLon).此计算仅包含sqlite运算符支持.

注意1:您必须更改上面的代码才能提供正确的String,其中userLat和userLon将替换为其值.

注意2:您不能使用此公式来计算精确距离.

总结

以上是内存溢出为你收集整理的android – CursorAdapter动态排序全部内容,希望文章能够帮你解决android – CursorAdapter动态排序所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1136027.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存