CursorAdapter clasificación dinámica

Actualmente utilizo un CursorAdapter con un Loader . Los datos cargados por el Loader contienen una ubicación. Quiero ordenar mis artículos de la más cercana a la más lejana. Ya calculo la distancia para mostrarlo, ahora tengo que encontrar una manera de ordenar dinámicamente los datos.

Probablemente podría modificar el CursorLoader ordenar cada vez que mis datos cambian, pero haciendo la misma consulta SQL una y otra vez sólo para cambiar el orden se ve de alguna manera exceso para mí …

¿Hay alguna manera de ordenar dinámicamente los datos en un CursorAdapter ?

Debe utilizar sortOrder – último parámetro del constructor de CursorLoader .

Supongamos que su tabla tiene una columna llamada lat para latitud y lon para la longitud. La ubicación del usuario también se describe a través de latitud / longitud userLat y userLon . Para la clasificación no es necesario conocer la distancia exacta – la distancia aproximada será suficiente. Para eso puedes usar el teorema de Pitágoras.

sortOder será así: abs(lat - userLat)* abs(lat - userLat) + abs(lon-userLon)*abs(lon-userLon) . Este cálculo contiene sólo soportado por los operadores Sqlite.

Nota 1: tiene que cambiar el código anterior para proporcionar String correcto donde userLat y userLon se reemplazan con sus valores.

Nota 2: no se puede utilizar esta fórmula para calcular la distancia precisa.

  • Weka en android
  • ¿Por qué un Comparator debería implementar Serializable?
  • ¿Cómo mostrar una tabla de clasificación con los servicios de juego de Google?
  • Cómo ordenar una vista de lista en orden alfabético
  • Cómo ordenar varios ArrayLists todos juntos en java
  • Utilizar el calificador de configuración de anchura más pequeña
  • Ordenar una lista en orden ascendente por fecha desde sqlite
  • Cómo ordenar / organizar las claves de objeto JSON en android?
  • Android RatingBar cambiar los colores de la estrella
  • La manera más eficiente de almacenar un orden arbitrario?
  • Las tablas de clasificación de Google Play no se muestran
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.