Viewparge(无限轮播)

来源:互联网 发布:iqr 淘宝网官网 编辑:程序博客网 时间:2024/06/05 11:14
package com.example.day7viewpager3;import java.util.ArrayList;import java.util.List;import android.os.Bundle;import android.os.Handler;import android.app.Activity;import android.support.v4.view.PagerAdapter;import android.support.v4.view.ViewPager;import android.view.Menu;import android.view.View;import android.view.ViewGroup;import android.widget.ImageView;import android.widget.TextView;public class MainActivity extends Activity {    int miao = 0;    Handler handler = new Handler(){        public void handleMessage(android.os.Message msg) {            miao++;            sendEmptyMessageDelayed(0, 1000);            vp.setCurrentItem(miao);        };    };    ViewPager vp;    List<View> list;    int[] array = { R.drawable.guide1, R.drawable.guide2, R.drawable.guide3, R.drawable.ic_launcher };    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);      /*       * 1 2 3 4       */        vp = (ViewPager) findViewById(R.id.vp);        initData();        MyPagerAdapter adapter = new MyPagerAdapter();        vp.setAdapter(adapter);        handler.sendEmptyMessage(0);    }    private void initData() {        list = new ArrayList<View>();        for (int i = 0; i < array.length; i++) {            View view = View.inflate(MainActivity.this, R.layout.vp_item, null);            ImageView iv = (ImageView) view.findViewById(R.id.iv);            TextView tv = (TextView) view.findViewById(R.id.tv);            iv.setImageResource(array[i]);            tv.setText("我是第" + i + "张图片");            list.add(view);        }    }    class MyPagerAdapter extends PagerAdapter {        @Override        public int getCount() {//       if (list != null) {//          return list.size();//       }            return Integer.MAX_VALUE;        }        @Override        public boolean isViewFromObject(View arg0, Object arg1) {            // TODO Auto-generated method stub            return arg0 == arg1;        }        @Override        public void destroyItem(ViewGroup container, int position, Object object) {            // TODO Auto-generated method stub            container.removeView((View) object);        }        @Override        public Object instantiateItem(ViewGroup container, int position) {            // TODO Auto-generated method stub            //如果给getCount方法返回的值是  最大值  那么position这个索引  会一直增长            int index = position % list.size();            container.addView(list.get(index));            return list.get(index);        }    }}
原创粉丝点击