我使用这个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被更改?
谢谢!
答案 0 :(得分:4)
我正在使用这个for循环来定义我的ViewPagers
这是一种不寻常的模式。
我怎么知道在OnPageChangeListener()中我的哪个ViewPagers被更改?
创建一个实现OnPageChangeListener
的类。让该类在构造函数中使用ViewPager
并在数据成员中保留该值。使用该类而不是当前的匿名内部类将侦听器附加到寻呼机。