2

アプリのすべてのアクティビティで CountDownTimer を分離しましたが、アクティビティを切り替えると問題が発生し、数ミリ秒の遅延が発生し、アクティビティ間の切り替えが遅延なく直接になる必要があります。たとえば、私は CountDownTimer を持つアクティビティ 1 にいます。ボタンを押して、CountDownTimer を持つ 2 番目のアクティビティに移動すると、アクティビティ 2 をもたらすのに数ミリ秒かかります。これが私のコードです

    countDownTimer21 =  new CountDownTimer(6000, 1000) {
        public void onTick(long millisUntilFinished) {

            strLong = Long.toString(millisUntilFinished / 1000);
            time.setText(strLong);

        }
        public void onFinish() {
            Intent fail = new Intent(Test10_D.this, FailPage10.class);
            fail.putExtra("scorerecord", myscore);
            next.putExtra("scorevalue", strLong);
            startActivity(fail);
            countDownTimer21.cancel();
            //finish();
        }
     }.start();

助言がありますか?どうもありがとう

4

1 に答える 1

2

2つの異なるアクティビティで2つのカウントダウンタイマーを作成したと思います。1番目から2番目のアクティビティに進むと、最初のタイマーが前かがみになり、2番目のタイマーが1番目のアクティビティのタイマーによって提供された値から再開されます。

したがって、解決策は、次のように別のスレッドに単一の共通タイマーを書き込むことです。別のサービスにカウントダウンタイマーを書き込み、画面に表示されているアクティビティのハンドラーを介してUIにカウントダウンを表示します。それでおしまい

于 2013-02-08T03:23:15.003 に答える