日前在项目中需要用到自动轮播图,开始打算直接上第三方的,结果出了点问题,干脆就自己写吧!(省略........)
结果吧,写完了,效果还不错。接下来奇怪的事就发生了,当我打开另一个Activity再返回时,轮播速度变快了,我在进再返回,感觉轮播图吧,已经起飞了!!!!!!!!
花了点时间,弄好了,不算什么亮点,就是写出来,记录下,给想我这样的小白提供下解决思路
关键代码如下:
private Handler handler = new Handler() { public void handleMessage(Message msg) { switch (msg.what) { case 1: vpAssocation.setCurrentItem(vpAssocation.getCurrentItem() + 1); break; } } }; private void AutoLun() { timer = new Timer(); timer.schedule(new TimerTask() { @Override public void run() { handler.sendEmptyMessage(1); } }, 3000, 3000); }加好了,保存,运行,结果还是一样,后来加如下代码:
protected void onPause() { super.onPause(); timer.cancel(); }在当前Fragment暂停交互时 停止计时。
上面是关键代码,至于无限轮播处理,网上大神的方法比较多了,我就不写啦(关键是适配器postion的求模)。