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.
- Use un cargador por separado para cada página; o
- 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
.