使用计时器

时间:2015-12-12 09:43:54

标签: android android-viewpager

现在我找到了一些在viewpager上自动运行图像的解决方案,但我不知道我们是如何制作的。

我读了很多关于计时器,runnable和句柄的帖子。谁可以猜出一些解决方案?

我的代码的Github链接如下, https://github.com/QuangTo/DemoSimple/blob/qtv/app/src/main/java/com/example/qtv/myapplication/view/ThreeFragment.java

1 个答案:

答案 0 :(得分:1)

我已经使用Timer任务和OnPageChangeListener实现了这个,以获取当前页面选择的内容。如果他们是更好的解决方案[也给我更新!]。 它对我来说很好。

你可以使用TimerTask。

查看此代码:

    /*Iterate the view pager after certain interval*/

class RemindTask extends TimerTask {
    int nextPage = 0;
    int noOfBanners;
    RemindTask(int noOfBanners) {
        this.noOfBanners = noOfBanners;
    }

    @Override
    public void run() {
        runOnUiThread(new Runnable() {
            public void run() {
                calledByTimer = true;
                page = listener.getCurrentPage();
                nextPage = page + 1;
                if (firstTime) {
                    nextPage = page;
                    firstTime = false;
                }
                if (page > noOfBanners) timer.cancel();
                else if (page == imageUrls.length - 1) pager.setCurrentItem(0);
                else pager.setCurrentItem(nextPage);
            }
        });
    }
}


   public void pageSwitcher(int seconds, int length) {
    swipeAtInterval = new RemindTask(length);
    timer = new Timer();
    timer.scheduleAtFixedRate(swipeAtInterval, 0, seconds * 1000);
}