Andro Selva
Andro Selva

Reputation: 54322

How to get ViewFlipper's current child position

I have added a bunch of images to a ViewFlipper and now I am performing an onClick event in the flipper. For this I would like to know the current child position so that I can perform some operations in an array. Is there anyway to find out the position of the current child.

Upvotes: 32

Views: 19987

Answers (4)

user2563781
user2563781

Reputation: 11

I used this flipper.indexOfChild(flipper.getCurrentView())

Upvotes: 1

sowjanya
sowjanya

Reputation: 31

In addflipperimages(ViewFlipper flipper) method you are adding bunch of images to ViewFlipper for that you are creating imageview, set tag to imageview, set imageview clickable true then write onclick method to imageview. go through the fallowing code it may works for you
here ids[] is an array of image ids

private void addFlipperImages(ViewFlipper flipper) {

        int imageCount = ids.length;
    RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
            RelativeLayout.LayoutParams.FILL_PARENT,
            RelativeLayout.LayoutParams.FILL_PARENT);

    for (int count = 0; count <imageCount; count++) {
        ImageView imageView = new ImageView(this);
        Bitmap imbm = BitmapFactory.decodeResource(this.getResources(),ids[count]);          
        imageView.setImageBitmap(imbm);

        imageView.setLayoutParams(params);
        imageView.setTag(count);
        imageView.setClickable(true);

        imageView.setOnClickListener(new OnClickListener() {

            public void onClick(View v) {
                // TODO Auto-generated method stub
                int id=(Integer) v.getTag();
                Toast.makeText(ImageSliderVertical.this, id+"", Toast.LENGTH_LONG).show();

            }
        });
        flipper.addView(imageView);
        flipper.setTag(count);

                  }

}

Upvotes: 3

Awais Tariq
Awais Tariq

Reputation: 7754

Use this to get the current Child position:

flipper.getDisplayedChild();

And this to set child number to view:

flipper.setDisplayedChild(8);

Upvotes: 61

Last Warrior
Last Warrior

Reputation: 1307

Make use of indexOfChild().

Check this Post

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

May this works for you.

Upvotes: 1

Related Questions