En Honeycomb, las API Loader se introdujeron como la forma adecuada de proporcionar datos a una aplicación haciendo un trabajo pesado en una cadena de fondo. En mi aplicación estoy trabajando para reemplazar todos mis Cursor
s con Loader
s que devuelven Cursor
s. Dado que el Cursor.requery()
se depreció ahora, se recomienda simplemente llamar al restartLoader
y permitir que el trabajo vuelva a realizarse en una cadena de fondo y luego changeCursor
cuando vuelva al onLoadFinished
.¿Cómo mantener la posición de ListView cuando se usan las nuevas API de Loader?
Todo esto funciona maravillosamente excepto que el ListView no mantiene su posición de desplazamiento cuando quiero volver a consultar los datos, usando Cursor.requery()
esto solía funcionar porque era la misma instancia de Cursor con datos actualizados.
¿Cómo puedo actualizar mi cargador sin perder la posición de desplazamiento?
Usted puede usar 'getScrollX() 'y' getScrollY() 'para almacenar en caché antes de actualizar, y luego configurarlo manualmente de nuevo. No estoy seguro si esto daría lugar a un destello visual u otro desagrado. : - / –