图片加载和viewPager结合的轮播

来源:互联网 发布:mongodb ubuntu 编辑:程序博客网 时间:2024/05/22 22:22
private Handler handler = new Handler(){    @Override    public void handleMessage(Message msg) {         vp.setCurrentItem(msg.what);        msg.what++;        handler.sendEmptyMessageDelayed(msg.what,2000);    }};@Overridepublic View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {    return inflater.inflate(R.layout.ffragment1,container,false);}@Overridepublic void onActivityCreated(@Nullable Bundle savedInstanceState) {    super.onActivityCreated(savedInstanceState);    vp = (ViewPager) getView().findViewById(R.id.vp1);    rg = (RadioGroup)getView().findViewById(R.id.rg);    rb1 = (RadioButton)getView().findViewById(R.id.rb1);    rb2 = (RadioButton)getView().findViewById(R.id.rb2);    rb3 = (RadioButton)getView().findViewById(R.id.rb3);    rb4 = (RadioButton)getView().findViewById(R.id.rb4);    rb5 = (RadioButton)getView().findViewById(R.id.rb5);    rb6 = (RadioButton)getView().findViewById(R.id.rb6);    initData();    pager = new MyPager();    vp.setAdapter(pager);    vp.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {        @Override        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {                switch (position%str.length){                    case 0:                        rb1.setChecked(true);                        break;                    case 1:                        rb2.setChecked(true);                        break;                    case 2:                        rb3.setChecked(true);                        break;                    case 3:                        rb4.setChecked(true);                        break;                    case 4:                        rb5.setChecked(true);                        break;                    case 5:                        rb6.setChecked(true);                        break;                }        }        @Override        public void onPageSelected(int position) {        }        @Override        public void onPageScrollStateChanged(int state) {        }    });    handler.sendEmptyMessageDelayed(0,2000);}private void initData() {    new Thread(){        @Override        public void run() {            String s = Utils.parmrs(path);            Gson gson = new Gson();            Images images = gson.fromJson(s, Images.class);            List<Images.DataBean.InfosBean> infos = images.getData().getInfos();            List<Images.DataBean.InfosBean.BannersBean> banners = infos.get(0).getBanners();            int i = 0;            for (Images.DataBean.InfosBean.BannersBean ban: banners) {                String pic = ban.getPic();                str[i]=pic;                i++;            }        }    }.start();}class MyPager extends PagerAdapter{    @Override    public int getCount() {        return Integer.MAX_VALUE;    }    @Override    public boolean isViewFromObject(View view, Object object) {        return view==object;    }    @Override    public Object instantiateItem(ViewGroup container, int position) {        ImageView imageView = new ImageView(getActivity());        Glide.with(getActivity()).load(str[position%str.length]).placeholder(R.mipmap.ic_launcher)                .into(imageView);        container.addView(imageView);        return imageView;    }    @Override    public void destroyItem(ViewGroup container, int position, Object object) {       container.removeView((View) object);    }}
原创粉丝点击