ViewPager数据源是4个线性布局,每个布局里面充满一张高度固定、宽度充满父布局的图片。有4个小圆点
跟随ViewPager滑动。轮播原本我是用Timer+TimerTask的,但是问题颇多,很是郁闷。于是看了一下别人的一个仿网易新闻的例子,然后找到了相关代码阅读。原来可以使用while循环+线程休眠来实现重复执行一段代码。
1 private int currentAdsIndex=0;
private int viewsCount=4;//轮播广告图片数量
handler = new Handler() {
public void handleMessage(Message msg ) {
Toast. makeText(getActivity(), msg.what +"" , Toast.LENGTH_SHORT)
.show();
adViewPager.setCurrentItem( msg. what);
};
};
new Thread(new Runnable() {
@Override
public void run() {
while ( true) {
try {
Thread. sleep(5000);
currentAdsIndex++;
if( currentAdsIndex > viewsCount-1) {
currentAdsIndex = 0;
}
handler.sendEmptyMessage( currentAdsIndex);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}).start();