我使用postDelayed runnable线程,当我按下按钮时,我需要暂停并恢复该线程。请任何人帮助我。
这是我的主题:
protected void animation_music6() {
music4.postDelayed(new Runnable() {
public void run() {
music4.setVisibility(View.VISIBLE);
animationmusic4();
holemusic4();
}
}, 10000);
}
我需要在按下按钮时暂停线程,然后从暂停线程的位置继续。我习惯暂停线程是:
music4.removeCallbacks(runnable4);
我如何恢复线程?谁能帮帮我吗。有没有办法暂停和恢复线程?我是android的新手,所以请帮我这样做。在此先感谢。
答案 0 :(得分:2)
我为糟糕的格式道歉
boolean isPaused = true;
playButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
isPaused = !isPaused;
if(isPaused) {
music4.removeCallbacks(runnable4);
}
else {
music4.postDelayed(runnable4, 100);
}
}
});
答案 1 :(得分:0)
我有一个类似的问题,我很困惑。 正如这里所教导的那样,我使用postDelayed()在延迟后启动Runnable, 我们说4秒后说。我想实现一个暂停功能,这样如果我暂停,并且在那个时间点,例如还剩2秒,直到可运行的代码应该启动,那么当我稍后恢复时,我希望延迟在确切点恢复在它被暂停的时间,以便postDelayed操作将继续并且将在我恢复后2秒运行该线程。一种计时器freeze()/ unfreeze()操作。 我是否需要使用计时器来实现这一目标?