2010-09-09 11 views
12

Ich habe einen ViewFlipper mit 3 Kindern.Wie kann ich das zweite Kind eines ViewFlippers programmatisch anzeigen?

Ich möchte in der Lage sein, alle diese Kinder zunächst anzuzeigen. Zum Beispiel möchte ich vielleicht, dass der ViewFlipper anfangs mit dem zweiten Kind und nicht mit dem ersten Kind geladen wird.

EDIT: Ich weiß, ich kann die getChildAt (int Index) -Methode verwenden.

Wenn ein Kind in einem ViewFlipper angezeigt wird, wie kann ich den Index dieses Kindes erhalten?

Antwort

20

Ich möchte in der Lage sein, eines dieser Kinder zunächst anzuzeigen. Zum Beispiel möchte ich vielleicht den ViewFlipper zunächst mit dem 2. Kind und nicht dem 1. Kind laden.

Anruf setDisplayedChild().

Wenn ein Kind in einem ViewFlipper angezeigt wird, wie kann ich den Index dieses Kindes erhalten?

Anruf getDisplayedChild().

+0

'setDisplayedChild()' nicht mit 'setInAnimation gut arbeiten()'. Wenn Animation hinzugefügt wird, ist ViewFlipper nicht andere Gegenstände verstecken als denen gezeigt wird, werden alle Ansichten auf der jeweils anderen –

10

bringChildToFront (untergeordnet) ändert nur den Indexwert des untergeordneten Elements.

Um ohne showNext() oder showprevious ein Kind nach vorne zu bringen(),

Verwendung

setDisplayedChild() und indexOfChild() zusammen.

Beispiel

vf.setDisplayedChild (vf.indexOfChild (Kind));

wo Kind ist die Ansicht die Front gebracht werden muss.

Dank

+10

Große Antwort gesagt, hier ist, wie ich getan habe: 'vF.setDisplayedChild (vF.indexOfChild (findViewById (R .id.view))); ' –

Verwandte Themen