¿Cómo crear un ListView cerrado (circular)?

Quiero crear un ListView personalizado (o similar) que se comportará como uno cerrado (circular):

desplazarse hacia abajo: después de alcanzar el último elemento, comienza el primero (.., n-1, n, 1, 2, ..)desplazarse hacia arriba: después de alcanzar el primer elemento, comienza el último (.., 2, 1, n, n-1, ..)

Suena simple conceptualmente pero, aparentemente, no hay un enfoque directo para hacer esto. ¿Alguien puede señalarme la solución correcta? Gracias !

Ya he recibido una respuesta (de Streets Of Boston en los grupos de Google de desarrolladores de Android), pero suena feo de alguna manera :) -

Lo hice creando mi propio adaptador de lista (subclasificado de BaseAdapter).

Codifiqué mi propio adaptador de lista de tal manera que su método getCount () devuelve un número HUUUUGE.

Y si se selecciona el elemento 'x', este elemento corresponde a la posición del adaptador = 'adapter.getCount () / 2 + x'

Y para el método getItem (int position) de mi adaptador, busco en mi matriz que respalda el adaptador y obtengo el elemento en el índice: (position-getCount () / 2)% myDataItems.length

Necesitas hacer algunas cosas más 'especiales' para que todo funcione correctamente, pero entiendes la idea.

En principio, todavía es posible llegar al final o al principio de la lista, pero si configura getCount () en alrededor de un millón, es difícil hacerlo :-)

Respuestas a la pregunta(5)

Su respuesta a la pregunta