自动轮播适配器

来源:互联网 发布:反映网络暴力的美剧 编辑:程序博客网 时间:2024/06/09 15:31
 Context context;    List<Beand.DataBean> list;    Handler handler;    public Base(Context context, List<Beand.DataBean> list, Handler handler) {        this.context = context;        this.list = list;        this.handler=handler;    }    @Override    public int getCount() {        return Integer.MAX_VALUE;    }    @Override    public boolean isViewFromObject(View view, Object object) {        return view == object;    }    /**     * viewPager具有预加载,默认的前后加载一页,,,默认的容器里面最多三页     * @param container     * @param position     * @return     */    @Override    public Object instantiateItem(ViewGroup container, int position) {ImageView img=new ImageView(context);        img.setScaleType(ImageView.ScaleType.FIT_XY);        ImageLoader.getInstance().displayImage(list.get(position%list.size()).getImg(),img, Utils.getaa());        img.setOnTouchListener(new View.OnTouchListener() {            @Override            public boolean onTouch(View view, MotionEvent motionEvent) {                int action = motionEvent.getAction();//获取手指的动作                switch (action){                    case MotionEvent.ACTION_DOWN://按下的动作...应该取消发送消息的操作                        handler.removeCallbacksAndMessages(null);                        break;                    case MotionEvent.ACTION_MOVE://移动的动作                        handler.removeCallbacksAndMessages(null);                        break;                    case MotionEvent.ACTION_CANCEL://取消                        //重新发送                        handler.sendEmptyMessageDelayed(0,2000);                        break;                    case MotionEvent.ACTION_UP://抬起的动作                        handler.sendEmptyMessageDelayed(0,2000);                        break;                }                //返回true表示自己处理触摸事件                return true;            }        });          container.addView(img);        return img;    }    @Override    public void destroyItem(ViewGroup container, int position, Object object) {        //销毁视图        container.removeView((View) object);    }
原创粉丝点击