如何获取ViewFlipper当前的子位置

时间:2011-11-25 06:57:06

标签: android

我已经向ViewFlipper添加了一堆图像,现在我在脚蹼中执行onClick事件。为此,我想知道当前的子位置,以便我可以在数组中执行一些操作。无论如何都要找出当前孩子的位置。

4 个答案:

答案 0 :(得分:58)

使用此选项获取当前的Child位置:

flipper.getDisplayedChild();

这是设置要查看的子编号:

flipper.setDisplayedChild(8);

答案 1 :(得分:2)

addflipperimages(ViewFlipper flipper)方法中,您要向ViewFlipper添加一堆图像,因为您正在创建imageview,将tag设置为imageview,将imageview设置为clickable true然后将onclick方法写入imageview。通过它可能适合您的休息代码
这里ids[]是一个图像ID数组

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);

                  }

}

答案 2 :(得分:1)

使用indexOfChild()。

查看此帖子

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

愿这适合你。

答案 3 :(得分:1)

我使用了这个flipper.indexOfChild(flipper.getCurrentView())