第一步:XML布局
<android.support.v4.view.ViewPager
android:id="@+id/viewPager1"
android:layout_width="match_parent"
android:layout_height="200dp"></android.support.v4.view.ViewPager>
第二步:定义PagerAdapter类
public class MyAdapterpager extends PagerAdapter{
private Context context;
private List<ImageView> list;
public MyAdapterpager(Context context, List<ImageView> list) {
this.context = context;
this.list = list;
}
@Override
public int getCount() {
return list.size();
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view==object;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView(list.get(position));
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
container.addView(list.get(position));
return list.get(position);
}
}
第三步:在Activity中编写
public class QinkFragment extends BaseFragment<LoginModel,LoginPresenter> implements LoginContract.View {
private ViewPager viewpager;
private List<ImageView> listimage=new ArrayList<>();
@Override
protected void initView(View view) {
presenter.getData();
viewpager = view.findViewById(R.id.viewPager1);
}
@Override
protected int getLayout() {
return R.layout.fragment_qink;
}
@Override
public void showRx(Bean bean) {
List<Bean.ResultBean.DataBean> data = bean.getResult().getData();
for (int i = 0; i <data.size() ; i++) {
ImageView imageView=new ImageView(getContext());
Glide.with(getContext()).load(data.get(i).getThumbnail_pic_s02()).placeholder(R.drawable.black_background).into(imageView);
listimage.add(imageView);
}
MyAdapterpager myAdapterpager=new MyAdapterpager(getContext(),listimage);
viewpager.setAdapter(myAdapterpager);
handler.sendEmptyMessageDelayed(0,2000);
}
@SuppressLint("HandlerLeak")
private Handler handler=new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
//获取当前页面的索引
int currentItem = viewpager.getCurrentItem();//设置当前页面为0
int size = listimage.size();
int page=currentItem+1==size?0:currentItem+1;
viewpager.setCurrentItem(page);
if(page+1==listimage.size())
{
}
sendEmptyMessageDelayed(0,2000);
}
};
}