Java Android倒计时线程。sleep();
我正在尝试使用倒计时创建一个电路计时器。当线程休眠时,我希望文本显示更改!在倒计时计时器再次启动之前,此按钮将显示5秒钟。我不知道如何让它工作。我知道线程正在休眠,因此不会显示更改!直到5秒钟后它再次醒来。但我无法理解如何让它按我希望的方式工作。有人能帮我解决这个问题吗Java Android倒计时线程。sleep();,java,android,timer,countdowntimer,thread-sleep,Java,Android,Timer,Countdowntimer,Thread Sleep,我正在尝试使用倒计时创建一个电路计时器。当线程休眠时,我希望文本显示更改!在倒计时计时器再次启动之前,此按钮将显示5秒钟。我不知道如何让它工作。我知道线程正在休眠,因此不会显示更改!直到5秒钟后它再次醒来。但我无法理解如何让它按我希望的方式工作。有人能帮我解决这个问题吗 public void onFinish() { // Text to be displayed when thread is sleeping time.setText("Change!"); try
public void onFinish()
{
// Text to be displayed when thread is sleeping
time.setText("Change!");
try
{
Thread.sleep(5000);
}
catch (InterruptedException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
if (numberOfCircuits != 15)
{
start();
numberOfCircuits++;
}
else
{
countDownTimer.cancel();
}
}
你可以使用一个计时器来通知你5秒的时间间隔,你可以再次安排你的倒计时,而不是让主线程休眠
public void onFinish()
{
// Text to be displayed when thread is sleeping
time.setText("Change!");
new Timer("Sleeper").schedule(new TimerTask() {
@Override
public void run() {
if (numberOfCircuits != 15)
{
start();
numberOfCircuits++;
}
else
{
countDownTimer.cancel();
}
}
}, 5000); // 5 sec delay
}
你不能让主线睡觉。这很糟糕:-/尝试使用android.os.Handler:-您应该解释为什么希望主线程睡眠。可能是相同的功能/效果,无需这样做即可实现。你可能想考虑在5秒后显示一个消失的对话框。@ No我希望主线程从10下降到0。一旦我归零,我希望文本显示更改!持续5秒,然后再次倒数最多15次。