Reputation: 436
I am using this for loop to define my 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]);
}
How do I know which one of my ViewPagers was changed in OnPageChangeListener() ?
Thanks!
Upvotes: 0
Views: 857
Reputation: 1006614
I am using this for loop to define my ViewPagers
That is an unusual pattern.
How do I know which one of my ViewPagers was changed in OnPageChangeListener() ?
Create a class that implements OnPageChangeListener
. Have that class take the ViewPager
in the constructor and hold onto that value in a data member. Use that class instead of your current anonymous inner class for attaching a listener to the pager.
Upvotes: 4