2010-09-09 11 views
12

Tengo un ViewFlipper con 3 niños.¿Cómo puedo mostrar programáticamente el segundo hijo de ViewFlipper?

Quiero ser capaz de mostrar algunos de estos niños inicialmente. Entonces, por ejemplo, tal vez quiero que ViewFlipper se cargue inicialmente con el segundo hijo y no con el primero.

EDIT: Sé que puedo usar el método getChildAt (int index).

Cuando se muestra un niño en una ViewFlipper, ¿cómo puedo obtener el índice de ese niño?

Respuesta

20

Quiero ser capaz de mostrar algunos de estos niños inicialmente. Entonces, por ejemplo, tal vez quiero que ViewFlipper cargue inicialmente con el segundo hijo y no con el primero.

Llame setDisplayedChild().

Cuando se muestra un niño en una ViewFlipper, ¿cómo puedo obtener el índice de ese niño?

Llamada getDisplayedChild().

+0

'setDisplayedChild()' no funciona bien con 'setInAnimation()'. Si se añade la animación, ViewFlipper no oculta otros artículos de los cuales se muestra, todas las vistas se colocan una encima de la otra –

10

bringChildToFront (secundario) no hace más que cambiar el valor de índice del elemento secundario.

Con el fin de llevar a un niño a la parte frontal sin utilizar shownext() o showprevious(),

uso

setDisplayedChild() y indexOfChild() juntos.

ejemplo

vf.setDisplayedChild (vf.indexOfChild (infantil));

donde niño es la vista que necesita ser traído delante.

Gracias

+10

Gran respuesta, aquí es cómo lo hice: 'vF.setDisplayedChild (vF.indexOfChild (findViewById (R .id.view))); ' –

Cuestiones relacionadas