viewpager圖片輪播
阿新 • • 發佈:2019-02-12
public class MainActivity extends AppCompatActivity { private List<Bean.TuijianBean.ListBean> list; private List<String> list1; private DisplayImageOptions options; private Handler handler=new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); int position=vp.getCurrentItem(); position++; vp.setCurrentItem(position); sendEmptyMessageDelayed(0,1000); } }; private ViewPager vp; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); vp = findViewById(R.id.vp); options = new DisplayImageOptions.Builder() .cacheInMemory(true)//使用記憶體快取 .cacheOnDisk(false)//使用磁碟快取 .bitmapConfig(Bitmap.Config.RGB_565)//設定圖片色彩模式 .imageScaleType(ImageScaleType.EXACTLY)//設定圖片的縮放模式 .build(); sss(); } private voidsss(){ MyTask myTask=new MyTask(new MyTask.Icallback() { @Override public void updateUiByjson(String string) { Log.d("zzz","---"+string); Gson gson=new Gson(); Bean bean = gson.fromJson(string, Bean.class); list = bean.getTuijian().getList(); list1 = new ArrayList<>(); for (int i = 0; i< list.size(); i++){ String[] split = list.get(i).getImages().split("\\|");//圖片分割 // String icon= list.get(i).getImages(); Log.d("zzz","---"+split[0]); list1.add(split[0]);//轉義 } vp.setAdapter(new MyAdapter()); vp.setCurrentItem(5*10); handler.sendEmptyMessageDelayed(0,1000); } }); myTask.execute("https://www.zhaoapi.cn/ad/getAd"); } class MyAdapter 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 iw=new ImageView(MainActivity.this); String s=list1.get(position%list1.size()); ImageLoader.getInstance().displayImage(s,iw,options ); container.addView(iw); return iw; } @Override public void destroyItem(ViewGroup container, int position, Object object) { //super.destroyItem(container, position, object); container.removeView((View) object); } } }