从头开始查看寻呼机图像(片段)滑块
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从头开始查看寻呼机图像(片段)滑块相关的知识,希望对你有一定的参考价值。
我已经在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
后的方法可以有人请给我优化的解决方案谢谢。
答案
您可以设置viewPager.setcurrentitem(0)以便在按下播放表单再次启动时从开始启动viewpager按钮
以上是关于从头开始查看寻呼机图像(片段)滑块的主要内容,如果未能解决你的问题,请参考以下文章