如何为多个ViewPagers设置OnPageChangeListener

时间:2014-04-06 15:25:22

标签: android android-viewpager

我使用这个for循环来定义我的ViewPagers:

LinearLayout llMain;
PagerAdapter[] pAdapter = new PagerAdapter[20];
ViewPager[] pager = new ViewPager[20];   

for(int i=0;i<20;i++){
    pAdapter[i] = new AwesomePagerAdapter();
    pager[i] = new ViewPager(this);
    pager[i].setAdapter(pAdapter[i]);
    IfinAwesomePager[i].setOnPageChangeListener(new OnPageChangeListener() {
        @Override
        public void onPageScrollStateChanged(int arg0) {}
        @Override
        public void onPageScrolled(int arg0, float arg1, int arg2) {}

        @Override
        public void onPageSelected(int arg0) {
            //which one of my ViewPagers has been changed here?
        }
    });
    llMain.addView(pager[i]);
}

我怎么知道在OnPageChangeListener()中我的哪个ViewPagers被更改?

谢谢!

1 个答案:

答案 0 :(得分:4)

  

我正在使用这个for循环来定义我的ViewPagers

这是一种不寻常的模式。

  

我怎么知道在OnPageChangeListener()中我的哪个ViewPagers被更改?

创建一个实现OnPageChangeListener的类。让该类在构造函数中使用ViewPager并在数据成员中保留该值。使用该类而不是当前的匿名内部类将侦听器附加到寻呼机。

相关问题