Viewpager的轮播

来源:互联网 发布:家庭千兆网络布线 编辑:程序博客网 时间:2024/05/16 12:30
public class MainActivity extends AppCompatActivity {    private ViewPager pager;    private String url="http://www.93.gov.cn/93app/data.do?channelId=0&startNum=0";    private Handler handler=new Handler(){        @Override        public void handleMessage(Message msg) {            super.handleMessage(msg);            int item = pager.getCurrentItem();            item++;            pager.setCurrentItem(item);            sendEmptyMessageDelayed(0,500);        }    };    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        pager = findViewById(R.id.pager);        if(TextUtil.iscon(MainActivity.this))        {            MyTask task = new MyTask(new MyTask.Back() {                @Override                public void setDate(String s) {                    Gson gson = new Gson();                    Bean json = gson.fromJson(s, Bean.class);                    List<String> lean=new ArrayList<>();                    List<Bean.DataBean> data = json.getData();                    List<Bean.DataScrollBean> list = json.getDataScroll();                    for (int i=0;i<data.size();i++)                    {                        lean.add(data.get(i).getIMAGEURL());                    }                    handler.sendEmptyMessageDelayed(0,500);                    MyAdapter adapter=new MyAdapter(MainActivity.this, lean);                    pager.setAdapter(adapter);                }            });           task.execute(url);        }else {            TextUtil.open(MainActivity.this);        }    }}
public class MyAdapter extends PagerAdapter{    private Context context;    private List<String> lean;    public MyAdapter(Context context, List<String> lean) {        this.context = context;        this.lean = lean;    }    @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(context);        ImageLoader.getInstance().displayImage(lean.get(position%lean.size()),imageView);        container.addView(imageView);        return imageView;    }    @Override    public void destroyItem(ViewGroup container, int position, Object object) {        container.removeView((View) object);    }}

原创粉丝点击