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に達した後、タイマーをキャンセルしてトーストを表示させたいと思います。前もって感謝します!

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 に答える