2012-06-29 25 views
5

Me gustaría crear una galería de fotos que se deslizan hacia la izquierda y hacia la derecha. Al principio eché un vistazo a Gallery, pero está marcado como obsoleto.ViewPager + reciclaje de vistas?

http://developer.android.com/reference/android/widget/Gallery.html

se nos dice para tratar ViewPager lugar. Pero la clase PagerAdapter no maneja el reciclaje de vistas para nosotros (como un estándar ListView), ¿o sí?

http://developer.android.com/reference/android/support/v4/view/PagerAdapter.html

¿Depende de nosotros para construir el mecanismo de reciclaje?

Gracias

Respuesta

3

Pero la clase PagerAdapter no maneja el reciclaje de vistas para nosotros (como un ListView estándar), ¿o sí?

No, y creo que es porque se construyó suponiendo que está utilizando diseños diferentes para cada una de las páginas.

Además, como no se está desplazando tan rápido como ListView (no se puede "arrojar" un ViewPager para omitir varias páginas), creo que no es necesario reciclarlo.

+3

Pero la galería está en desuso, por lo que básicamente no nos dan ninguna solución reciclable de deslizamiento horizontal? – user291701

+0

@ user291701 La galería no recicla vistas de todos modos, a pesar de usar un adaptador ('convertView' siempre es nulo) –

+0

@ ılǝ mantener las vistas en vivo no es lo mismo que reciclar ... está vivo, por lo que el adaptador no necesita inflarse de nuevo cuando el usuario solo está cambiando entre dos o tres vistas, pero no necesariamente utiliza la misma vista para diferentes páginas. Además, FragmentPagerAdapter no contiene Views, contiene Fragments, y no hay sobrecarga del método getItem (int position) para FragmentPagerAdapter, así que no creo que esté reciclando nada. – josephus

1

ver el enlace en la edición el this question El eslabón de la edición, y las respuestas que dan algunas formas posibles de resolver.

También hay un HorizontalListView en línea en algún lugar si lo busca que hace un buen reemplazo para Gallery y recicla sus vistas.