with viewpager studio sirve que practice para example best activity android android-asynctask android-viewpager android-loadermanager android-loader

viewpager - tabs in android studio example



¿Patrón para usar cargadores dinámicos para cargar páginas de ListView en una ViewPager sin ListFragments? (1)

Si tengo un ViewPager con un cierto número de páginas, ¿cuál sería la mejor manera de cargar los datos para cada página usando el marco de Loader ? Cada página contiene un ListView con su propia instancia de adaptador.

  1. Use un cargador por separado para cada página; o
  2. Use un único cargador que verifique qué páginas no están cargadas y las carga

La cuestión es que es posible que el usuario quiera deslizarse rápidamente por un grupo de páginas y, por lo tanto, debería ser fácil "cancelar" la carga de páginas que no son necesarias por motivos de rendimiento.

Por otro lado, parece que podría haber una sobrecarga con muchos cargadores.

EDITAR: My Loader realmente necesita tener identificadores dinámicos para representar el contenido que están cargando. Probablemente destroyLoader() una máscara en la ID del cargador, y una vez que el cargador esté listo, llamo a destroyLoader() .


Yo usaría un Loader por separado para cada ListFragment . Las cosas se complicarán muy rápido si intentas administrar los fragmentos '' Loader s de la Activity padre (especialmente si esos fragmentos están siendo retenidos por un ViewPager ). Fragment supone que los Fragment están diseñados para ser reutilizados y no deben depender de una Activity específica para funcionar correctamente. El hecho de que cada Activity y cada Fragment obtengan su propia instancia de LoaderManager es una prueba más de que el equipo de Android no quería que los desarrolladores tuvieran los datos de carga de su Activity para los Fragment adjuntos.

No creo que haya tanta sobrecarga como probablemente esté esperando ... Los Loader deberían retener sus datos en todo el ciclo de vida del componente y volver a consultar solo cuando el contenido subyacente haya cambiado. También podría ser una buena idea usar un FragmentStatePagerAdapter .