如何设置OnPageChangeListener为多ViewPagers [英] How to set OnPageChangeListener for Multiple ViewPagers

查看:109
本文介绍了如何设置OnPageChangeListener为多ViewPagers的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

 的LinearLayout llMain;
PagerAdapter [] pAdapter =新PagerAdapter [20];
ViewPager [] =寻呼机新ViewPager [20];的for(int i = 0; I< 20;我++){
    pAdapter [I] =新AwesomePagerAdapter();
    寻呼机[I] =新ViewPager(本);
    寻呼机[I] .setAdapter(pAdapter [I]);
    IfinAwesomePager [I] .setOnPageChangeListener(新OnPageChangeListener(){
        @覆盖
        公共无效onPageScrollStateChanged(INT为arg0){}
        @覆盖
        公共无效onPageScrolled(INT为arg0,ARG1浮球,诠释ARG2){}        @覆盖
        公共无效使用onPageSelected(INT为arg0){
            //这我ViewPagers之一,这里已经改变了吗?
        }
    });
    llMain.addView(寻呼机[I]);
}

如何知道我的哪些ViewPagers之一OnPageChangeListener()?改为

谢谢!


解决方案

  

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


这是一个不寻常的模式。


  我

如何知道我的哪些ViewPagers之一OnPageChangeListener()?改为


创建一个类实现 OnPageChangeListener 。有一流的乘坐 ViewPager 在构造函数和稳守在数据成员的值。使用这个类,而不是当前的匿名内部类的监听器连接到寻呼机。

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!

解决方案

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.

这篇关于如何设置OnPageChangeListener为多ViewPagers的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆