从头开始查看寻呼机图像(片段)滑块

问题描述 投票:0回答:1

我已经在ViewPager中实现了滑块,当它点击播放按钮时工作正常,但现在我正在尝试从最后一个项目按钮“再次播放表单”按钮实现滑块,但是我被困住了如何实现这个我已经实现了滑块来播放表单当前项目,但我不能不从最后一项再次播放我正在使用Executors这是我的滑动代码

  /**
 * starts the slide show with 2 seconds frequency
 */
public void startTimer(final boolean isStartFromCurrentItem) {
    isTimerPlaying = true;
    btn_pause_play.setImageResource(R.drawable.ic_action_pause);
    scheduler =
            Executors.newSingleThreadScheduledExecutor();

    scheduler.scheduleAtFixedRate
            (new Runnable() {
                public void run() {
                    // call service


                    Message msg = new Message();

                    Log.i("change", "change");

                    hanleMessage(msg, isStartFromCurrentItem);


                }
            }, 0, 2, TimeUnit.SECONDS);


}
/**
 * UI Handler of background thread, this handler called after every two seconds to show next item as slide view
 *
 * @param message
 * @param isStartFromCurrentItem
 */
private void hanleMessage(Message message, final boolean isStartFromCurrentItem) {
    Handler msg_handler = new Handler(getMainLooper()) {
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);

            if (viewpager != null) {
                if (viewpager.getCurrentItem() == cursor.getCount() - 1) {
                    //Toast.makeText(getApplicationContext(), getString(R.string.slide_show_comp), Toast.LENGTH_LONG).show();
                    stopSchedueler();
                    btn_pause_play.setImageResource(R.drawable.ic_action_play);

                } else {

                    if (isStartFromCurrentItem) {
                        int old_pos = viewpager.getCurrentItem();
                        viewpager.setCurrentItem(old_pos + 1, true);
                    } else {

                        Log.e("getCurrentItem", viewpager.getCurrentItem() + "");
                        viewpager.setCurrentItem(0, true);


                        //for starting slide show from beginning


                    }
                }
            }


        }
    };

    msg_handler.sendMessage(message);


}

如果我想播放当前项目的幻灯片,只需调用startTimer(true)并在第二种方法中处理工作正常,当我从最后一项调用此方法时,按钮“再次播放”我调用tartTimer(false)如何从头开始更改滑块通过false后的方法可以有人请给我优化的解决方案谢谢。

android android-fragments android-viewpager
1个回答
0
投票

您可以设置viewPager.setcurrentitem(0)以便在按下播放表单再次启动时从开始启动viewpager按钮

© www.soinside.com 2019 - 2024. All rights reserved.