无限轮播的适配器

来源:互联网 发布:进气压力传感器数据值 编辑:程序博客网 时间:2024/04/30 12:27
package com.example.wisdom.mylunbo;import android.content.Context;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.os.Handler;import android.support.v4.view.PagerAdapter;import android.util.Log;import android.view.MotionEvent;import android.view.View;import android.view.ViewGroup;import android.widget.ImageView;import com.bumptech.glide.Glide;import java.lang.ref.WeakReference;import java.util.List;/** * Created by wisdom on 2017/8/30. */public class VPAdapter extends PagerAdapter {    private  int[] images;    private  List<ImageView> list;    Context context;    Handler handler;    public VPAdapter(int[] images, MainActivity context, Handler handler) {        this.images= images;        this.context = context;        this.handler = handler;    }    @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) {        Log.i("aaa","111"+position);        View v = View.inflate(context, R.layout.view_item, null);        ImageView img = (ImageView) v.findViewById(R.id.imageView1);        img.setScaleType(ImageView.ScaleType.FIT_XY);       // img.setImageResource(list.get(position%list.size()).getId());        /**         * 给img添加触摸监听         */        img.setOnTouchListener(new View.OnTouchListener() {            @Override            public boolean onTouch(View v, MotionEvent event) {                switch (event.getAction()) {                    case MotionEvent.ACTION_DOWN:                        handler.removeCallbacksAndMessages(null);                        break;                    case MotionEvent.ACTION_UP:                    case MotionEvent.ACTION_CANCEL:                        handler.sendEmptyMessageDelayed(0, 2000);                        break;                }                return true;            }        });   //     BitmapUtils utils = new BitmapUtils(context);/*        String uri = urls[position % urls.length];        utils.display(img, uri);*///        int newPosition = position % resource.length;   /*     for (int i = 0; i < resource.length; i++) {            WeakReference<Bitmap> bitmao = new WeakReference<Bitmap>(BitmapFactory                    .decodeResource(context.getResources(), resource[ position % resource.length]));            img.setImageBitmap(bitmao.get());          //  img.setScaleType(ImageView.ScaleType.FIT_XY);           // mListDataViewPage.add(imageView);        }*/  /*      WeakReference<Bitmap> bitmao = new WeakReference<Bitmap>(BitmapFactory                .decodeResource(context.getResources(), resource[6]));*/    //    Integer bitmap = list.get(newPosition);   //     img.setImageBitmap(bitmao.get());   //     container.addView(img);      //  img.setImageBitmap(list.get(position));    //    img.setBackgroundResource(list.get(position));//        BitmapUtils bitmapUtils=new BitmapUtils(context);//        bitmapUtils.display(img, images[position%images.length]);        Glide.with(context)                .load(images[position%images.length])                .into(img);        container.addView(v);        return  v;     /*   *//**         * 加载到容器         *//*        return v;*/    }    @Override    public void destroyItem(ViewGroup container, int position, Object object) {        // TODO Auto-generated method stub        container.removeView((View) object);    }}
原创粉丝点击