Non stop auto scroll of viewpager in android

拟墨画扇 提交于 2019-12-23 02:19:12

问题


I have used timer to auto swipe the viewpager. But after reaching the last page the timer stops. How to make it to continue again from the first page?

final Handler mHandler = new Handler();
    final Runnable mUpdateResults = new Runnable() {
        public void run() {
            pager.setCurrentItem(page++);

        }
    };

    int delay = 1000; // delay for 1 sec.

    int period = 4000; // repeat every 4 sec.

    Timer timer = new Timer();

    timer.scheduleAtFixedRate(new TimerTask() {

    public void run() {

         mHandler.post(mUpdateResults);

    }

    }, delay, period);

回答1:


final Runnable mUpdateResults = new Runnable() {
    public void run() {
        int numPages = pager.getAdapter().getCount();
        page = (page + 1) % numPages;
        pager.setCurrentItem(page);

    }
};

That will set the current item to 0 when it exceeds the pager limits




回答2:


Below answer will be helpful;

 TimerTask timer = new TimerTask() {
    @Override
    public void run() {
      handler.post(new Runnable() {

         @Override
             public void run() {
                int numPages = viewPager.getAdapter().getCount();
                page = (page + 1) % numPages;
                viewPager.setCurrentItem(page);
            }
      });
 }
};
Timer time = new Timer();
time.schedule(timer, 0, 5000);


来源:https://stackoverflow.com/questions/30301113/non-stop-auto-scroll-of-viewpager-in-android

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!