如何在android中停止viewpager自动幻灯片

时间:2014-06-17 09:29:17

标签: android android-viewpager runnable

我已经制作了一个Android应用程序,我已经实现了播放暂停功能,但我只知道播放,我不知道如何在同一个按钮点击停止滑动,我已经使用了两个函数,如下所示,玩是工作但暂停不是。! 的的onClick

    if (!flag) {
        play();
        new Thread(ViewPagerVisibleScroll).start();
        ivPlay.setBackgroundResource(R.drawable.pause);
        flag = true;

    } else {
        pause();
        new Thread(ViewPagerVisibleScroll).start();
        ivPlay.setBackgroundResource(R.drawable.play_btn);
        flag = false;
    }

播放和暂停

void play() {

        pos = viewPager.getCurrentItem();
        ViewPagerVisibleScroll = new Runnable() {
            @Override
            public void run() {
                try {
                    if (pos <= adapter.getCount() - 1) {
                        viewPager.setCurrentItem(pos, true);

                        viewPager.setScrollDurationFactor(6);
                        handler.postDelayed(this, 3000);
                        pos++;
                    }
                } catch (Exception e) {

                    e.printStackTrace();
                }
            }
        };
    }

    void pause() {

        pos = viewPager.getCurrentItem();
        ViewPagerVisibleScroll = new Runnable() {
            @Override
            public void run() {
                try {
                    if (pos <= adapter.getCount() - 1) {
                        viewPager.setCurrentItem(pos, true);

                        viewPager.setScrollDurationFactor(6);
                        handler.postDelayed(this, 300000);
                        pos++;
                    }
                } catch (Exception e) {

                    e.printStackTrace();
                }
            }
        };
    }

1 个答案:

答案 0 :(得分:0)

在暂停按钮中单击:

handler.removeCallbacksAndMessages(ViewPagerVisibleScroll);

试试这个