How can I programmatically display a ViewFlipper's second child?

15,030

Solution 1

I want to be able to display any of these children initially. So for example, maybe I want the ViewFlipper to load initially with the 2nd child and not the 1st.

Call setDisplayedChild().

When a child in a ViewFlipper is shown, how can I get that child's index?

Call getDisplayedChild().

Solution 2

bringChildToFront(child) does nothing but changes the index value of the child.

In order to bring a child to the front without using showNext() or showprevious(),

use

setDisplayedChild() and indexOfChild() together.

example

vf.setDisplayedChild(vf.indexOfChild(child));

where child is the view that needs to be brought front.

Thanks

Share:
15,030
Sheehan Alam
Author by

Sheehan Alam

iOS, Android and Mac Developer. i can divide by zero.

Updated on June 06, 2022

Comments

  • Sheehan Alam
    Sheehan Alam about 2 years

    I have a ViewFlipper with 3 children.

    I want to be able to display any of these children initially. So for example, maybe I want the ViewFlipper to load initially with the 2nd child and not the 1st.

    EDIT: I know I can use the getChildAt(int index) method.

    When a child in a ViewFlipper is shown, how can I get that child's index?

  • Comic Sans MS Lover
    Comic Sans MS Lover about 12 years
    Great answer, here is how I did: vF.setDisplayedChild(vF.indexOfChild(findViewById(R.id.view)‌​));
  • Jemshit Iskenderov
    Jemshit Iskenderov almost 8 years
    setDisplayedChild() does not work good with setInAnimation(). If animation is added, ViewFlipper does not hide other items than which is shown, all views are put on top of each other