我正在尝试在android中制作一个图像滑块,该滑块每隔2000s自动滚动一次。我已经编写了代码,但是我不知道每隔2000s就自动循环一次代码。现在,我有2个静态图像来测试滑块滚动,它只是滚动到第二个图像并停止。但是到达最后一个图像时,它并不会连续循环到第一个图像。
这是我的代码(我想不断循环这段代码)
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
mRecyclerViewTwo.smoothScrollToPosition(1);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
if (2 <= mPostad.size()) {
mRecyclerViewTwo.smoothScrollToPosition(2);
} else {
mRecyclerViewTwo.smoothScrollToPosition(1);
}
}
}, 2000);
}
}, 2000);
请帮助。 任何帮助都是可以的。
答案 0 :(得分:1)
您可以使用ScheduledExecutorService
:
Executors.newSingleThreadScheduledExecutor().scheduleAtFixedRate(this::codeToExecute, 0, 2, TimeUnit.SECONDS);
private void codeToExecute() {
if (2 <= mPostad.size()) {
mRecyclerViewTwo.smoothScrollToPosition(2);
} else {
mRecyclerViewTwo.smoothScrollToPosition(1);
}
}
编辑:也就是说,通过阅读您的问题,您很可能会找到一个可以为您完成此工作的预先存在的小部件。也许是ViewFlipper
?