1

停止计时器后如何敬酒?

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 后,我想取消计时器并让 toast 出现。提前致谢!

4

1 回答 1

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

于 2012-07-11T19:27:44.550 回答