如何在停止计时器后举杯?
onCreate {
//other code
myTimer = new Timer();
myTimer.schedule(new TimerTask() {
@Override
public void run() {
TimerMethod();
}
}, 0, 1000);
Toast.makeText(getApplicationContext(), "AS", 455).show();
}
private void TimerMethod()
{
this.runOnUiThread(Timer_Tick);
}
private Runnable Timer_Tick = new Runnable() {
public void run() {
rub_stat++;
if (rub_stat == 15){myTimer.cancel(); } }
};
所以在rub_stat达到15之后我想取消定时器并使吐司出现。提前谢谢!
答案 0 :(得分:2)
您可能想要创建一个单独的线程,而不是在UI线程上,所以基本上替换
this.runOnUiThread(Timer_Tick);
使用线程调用,然后您可以加入该线程,让该线程暂停15秒,然后在加入后立即显示Toast
。
Thread thread = new Thread()
{
@Override
public void run() {
try {
sleep (1000 * 15);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
};
thread.start();
thread.join();
this.runOnUiThread(showToast;
showToast
只是展示吐司的功能。
我没有测试过这段代码,但它应该接近你需要的。
有关join
的更多信息,请查看此博客文章:
http://cnapagoda.blogspot.ca/2010/01/thread-join-method.html