MainActivity

public class MainActivity extends AppCompatActivity implements MyView {

    @BindView(R.id.main_vp)
    ViewPager mMainVp;
    private MyPresenter mMyPresenter;
    private MyViewPagerAdapter mMyViewPagerAdapter;
    List<BannerBean.DataBean> mList;
    private Handler mHandler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            if (msg.what == 0) {
                int currentItem = mMainVp.getCurrentItem();
                currentItem++;
                mMainVp.setCurrentItem(currentItem);
                mHandler.sendEmptyMessageDelayed(0, 2000);
            }
        }
    };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ButterKnife.bind(this);
        mMyPresenter = new MyPresenter(this);
        mMyPresenter.onGetDatas(Apis.BANNER_URL_GET, BannerBean.class);
        //initData();
        mHandler.sendEmptyMessageDelayed(0, 2000);
    }

    private void initData() {
        new OkHttpUtil().OkHttpGet(Apis.BANNER_URL_GET).setOkHttpListener(new OkHttpUtil.OkHttpListener() {
            @Override
            public void OkHttpSuccess(String data) {
                List<BannerBean.DataBean> beans = new Gson().fromJson(data, BannerBean.class).getData();
                mList = beans;
                mMyViewPagerAdapter = new MyViewPagerAdapter(MainActivity.this, mList);
                mMainVp.setAdapter(mMyViewPagerAdapter);
            }

            @Override
            public void OkHttpError(String error) {

            }
        });
    }

    @Override
    public void onMySuccess(Object data) {
        BannerBean bannerBean = (BannerBean) data;
        List<BannerBean.DataBean> dataBeans = bannerBean.getData();
        mList = dataBeans;
        mMyViewPagerAdapter = new MyViewPagerAdapter(MainActivity.this, mList);
        mMainVp.setAdapter(mMyViewPagerAdapter);
    }


    @Override
    public void onMyFailed(String error) {

    }
}

Mvp

使用ViewPager + MVP + 网络请求 + Handler实现自动轮播 

使用ViewPager + MVP + 网络请求 + Handler实现自动轮播 

使用ViewPager + MVP + 网络请求 + Handler实现自动轮播 

使用ViewPager + MVP + 网络请求 + Handler实现自动轮播 

使用ViewPager + MVP + 网络请求 + Handler实现自动轮播 

 

适配器

public class MyViewPagerAdapter extends PagerAdapter {
    private Context mContext;
    private List<BannerBean.DataBean> mList;

    public MyViewPagerAdapter(Context context, List<BannerBean.DataBean> list) {
        mContext = context;
        mList = list;
    }

    @Override
    public int getCount() {
        return Integer.MAX_VALUE;
    }

    @Override
    public boolean isViewFromObject(@NonNull View view, @NonNull Object o) {
        return view == o;
    }

    @NonNull
    @Override
    public Object instantiateItem(@NonNull ViewGroup container, int position) {
        ImageView imageView = new ImageView(mContext);
        ImageLoader.getInstance().displayImage(mList.get(position % mList.size()).getIcon(), imageView);
        imageView.setScaleType(ImageView.ScaleType.FIT_XY);
        container.addView(imageView);
        return imageView;
    }

    @Override
    public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
        container.removeView((View) object);
    }
}

 

相关文章: