[英]Android Countdown Timer Thread.sleep();
我正在嘗試使用倒數計時器創建電路計時器。 當線程處於睡眠狀態時,我希望文本顯示“ Change!”。 並在倒數計時器再次啟動前顯示5秒鍾。 我不確定如何使它工作。 我知道線程正在休眠,因此不會顯示“更改!” 直到5秒鍾后又醒來。 但是我不明白如何按照我希望的方式工作。 誰能幫我解決這個問題?
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();
}
}
不用讓主線程進入睡眠狀態(您可能會看到一個ANR對話框),而是可以使用一個計時器,該計時器可以將5秒鍾的延遲通知您,並且您可以再次安排CountDownTimer。
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
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.