停止计时器后敬酒,怎么样?

时间:2012-07-11 19:18:52

标签: android timer

如何在停止计时器后举杯?

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之后我想取消定时器并使吐司出现。提前谢谢!

1 个答案:

答案 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