对从数据库检索的计算数据排序列表视图

时间:2013-01-21 08:35:07

标签: android database listview sorting cursor

我有一个由自定义cursoradapter填充的广告列表。我希望根据商店位置与用户的距离对列表进行排序。

我在执行此操作时遇到了一些麻烦。目前,我将商店位置存储在数据库中作为纬度和经度,我把它取出并做一些计算来计算距离。我目前只输出列表视图中每行的每个商店的距离,但我希望列表视图按距离排序,首先显示更近的广告。我真的不敢想如何做到这一点。

我考虑过重新查询数据库,但是我不确定是否可以将计算出的距离与存储在某个商店的纬度/长度字段进行比较。

1 个答案:

答案 0 :(得分:1)

首先我们需要使用当前用户位置和目标坐标的Haversine公式计算距离,然后我们需要将计算出的距离存储在数据库中。最后我们可以按距离升序查询数据库。