• 手动在viewpager的最后一页滑到第一页。


    vp_viewpager.setOnPageChangeListener(new OnPageChangeListener() {-------------------------------------MainActivity.java

       @Override
       public void onPageSelected(int position) {
        for (int i = 0; i < icons.length; i++) {
         // 循环将所有的指示性图标全部置为未选中
         icons[i].setEnabled(true);
        }
        // 将page对应的指示性图标置为选中
        icons[position%imageViewList.size()].setEnabled(false);
        index = position;
        
       }

       @Override
       public void onPageScrolled(int arg0, float arg1, int arg2) {
        vp_viewpager.getParent().requestDisallowInterceptTouchEvent(true); 
       }

       @Override
       public void onPageScrollStateChanged(int arg0) {

       }
      });
      
      vp_viewpager.setOnTouchListener(new View.OnTouchListener() { 
        
             @Override 
              public boolean onTouch(View v, MotionEvent event) { 
                   v.getParent().requestDisallowInterceptTouchEvent(true); 
                 return false; 
               }
        
          }); 


                 
    ===================================================================================================================================
    package com.alice.asaproject.adpter;----------------------------------------------------------------------PagerAdapter的适配器
     
    import java.util.List;
     
    import android.os.Bundle;
    import android.support.v4.view.PagerAdapter;
    import android.support.v4.view.ViewPager;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.ImageView;
     
    public class MyPagerAdapter extends PagerAdapter {
        private List<ImageView> imageViewList = null;
     
     
        public MyPagerAdapter(List<ImageView> imageViewList) {
            this.imageViewList = imageViewList;
        }
     
        @Override
        public int getCount() {
            return Integer.MAX_VALUE;
        }
     
        @Override
        public boolean isViewFromObject(View arg0, Object arg1) {
            return arg0 == arg1;
        }
     

     @Override
     public Object instantiateItem(ViewGroup container, int position) {
      // TODO Auto-generated method stub
        position %= imageViewList.size();
        if (position < 0) {
         position = imageViewList.size() + position;
        }
        ImageView view = imageViewList.get(position);
        // 如果View已经在之前添加到了一个父组件,则必须先remove,否则会抛出IllegalStateException。
        ViewParent vp = view.getParent();
        if (vp != null) {
         ViewGroup parent = (ViewGroup) vp;
         parent.removeView(view);
        }
        container.addView(view);

    //    View view = imageViewList.get(position % imageViewList.size()); 
    //         ((ViewPager)container).addView(view, 0);   
           return view;   

     
     
    }
  • 相关阅读:
    c# linq.Where+Func<object,bool>筛选数据
    【转】深入线程安全容器的实现方法
    c# 泛型+反射
    c# List<接口>小技巧
    winfrom的右击菜单项事件中如何获取关联控件的引用
    ASP.NET 1.0
    让包含GridView的div或panel的滚动条自己拉到底部怎么做?
    微软的IE中调试JavaScript的工具下载链接
    ASP.NET调试启动默认浏览器如何设置
    C# WinForm的PictureBox控件图片的拉伸或收缩方式跟随着控件的大小
  • 原文地址:https://www.cnblogs.com/Jingerxin/p/5082065.html
Copyright © 2020-2023  润新知