android viewpager及页面变化的监听(OnPagerChangerListener)

//ViewPager的适配器继承于PagerAdapter基类,并实现以下四个方法

    private class MyPagerAdapter extends PagerAdapter{

       

        private List<View> mListView;

       

        privateMyPagerAdapter(List<View> list) {

            // TODO Auto-generated method stub

            this.mListView= list;

        }

 

        //销毁position位置的界面

        public void destroyItem(View arg0, int arg1, Object arg2) {

            // TODO Auto-generated method stub

            ((ViewGroup)arg0).removeView(mListView.get(arg1));

        }

 

        @Override

        public void finishUpdate(View arg0) {

            // TODO Auto-generated method stub

           

        }

 

        获取当前窗体界面数

        public int getCount() {

            // TODO Auto-generated method stub

            return mListView.size();

        }

      //初始化position位置的界面

        @Override

        public Object instantiateItem(View arg0, int arg1) {

            // TODO Auto-generated method stub

            ((ViewGroup)arg0).addView(mListView.get(arg1), 0);

            return mListView.get(arg1);

        }

 

     // 判断是否由对象生成界面

        public boolean isViewFromObject(View arg0, Object arg1) {

            // TODO Auto-generated method stub

            return arg0==(arg1);

        }

 

        @Override

        public void restoreState(Parcelable arg0, ClassLoader arg1) {

            // TODO Auto-generated method stub

           

        }

 

        @Override

        public Parcelable saveState() {

            // TODO Auto-generated method stub

            return null;

        }

 

        @Override

        public void startUpdate(View arg0) {

            // TODO Auto-generated method stub

           

        }

       

    }





监听页面变化:

viewPager.setOnPageChangeListener(newOnPageChangeListener(){

 

           @Override

           public voidonPageScrollStateChanged(int arg0) {

              // TODO Auto-generated method stub

             

           }

 

           @Override

           public void onPageScrolled(int arg0, float arg1, int arg2) {

              // TODO Auto-generated method stub

             

           }

 

           @Override

           public void onPageSelected(int arg0) {

               System.out.println("onPageSelected = " + arg0);

                 if(arg0 == 0)

                   viewPager.setCurrentItem(3);

                 else if(arg0 == listViews.size() - 1)

                   viewPager.setCurrentItem(1);

             

           }

       

        });




参数解释:

ViewPageronPageChangeListener里面的一些方法参数:

1onPageSelected(int arg0){

 

}

 

arg0是表示你当前选中的页面,这事件是在你页面跳转完毕的时候调用的。

2public void onPageScrollStateChanged(int arg0) {

    // TODO Auto-generated method stub

   

   

   }

arg0 ==1的时候表示正在滑动,arg0==2的时候表示滑动完毕了,arg0==0的时候表示什么都没做,就是停在那。

 

 

3public void onPageScrolled(int arg0, float arg1, int arg2) {

    // TODO Auto-generated method stub

   

   }表示在前一个页面滑动到后一个页面的时候,在前一个页面滑动前调用的方法。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值