最简单明了的轮播方案.
public void carousel() {
vp = (ViewPager) view.findViewById(R.id.viewpager1);
fm = getChildFragmentManager();
fragmentlist = new ArrayList<Fragment>();
fragmentlist.add(new ViewPager_Fg1(0));
fragmentlist.add(new ViewPager_Fg1(1));
fragmentlist.add(new ViewPager_Fg1(2));
adapter = new FragmentAdapter(fm, fragmentlist);
vp.setAdapter(adapter);
// 实例化handler
mHandler = new Handler() {
public void handleMessage(Message msg) {
switch (msg.what) {
case 1:
/**
* 判断viewpager当前页面,然后设置为下一页面;
*/
before = vp.getCurrentItem();
if (before == fragmentlist.size() - 1) {// 如果滑动到了最后一页
// 那就滚动到第一个页面
vp.setCurrentItem(0);
} else {
vp.setCurrentItem(before + 1);
}
break;
default:
break;
}
}
};
// 子线程
new Thread() {
public void run() {
while (true) {
try {
/**
* 每过3秒handler一次
*/
sleep(3000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
mHandler.sendEmptyMessage(1);
}
};
}.start();
}