CountDownTimerを用いて、画面上に残り時間を表示させるアプリを作成しているのですが、画面移行時の表示に関して質問があります。
文章では説明しずらいのですが、
現在、CountDownTimerを用いて、
残り時間をlayout1.xmlの画面に表示させており、
View1.class(下記コード記載のclass)で制御しているのですが、
layout2.xmlという、View2.classで制御している画面に移動し、
layout1.xmlの画面に戻るとCountDownTimerの表示がリセットされ、元の表示時間からのスタートになっています。
端末のホームボタンや、戻るボタンをタップして、
layout1.xmlが表示されている状態のアプリ再度開いても
同様のことが起きます。
layout1.xmlに戻るたびに毎回、View1.class内のCountDownTimerの処理が行われているのが原因かと思いますが、
どのように解決したらよろしいでしょうか?
回答よろしくお願いいたします。
cdt = new MyCountDownTimer(100000, 1000); @Override public void onStart () { super.onStart(); cdt.start(); } public class MyCountDownTimer extends CountDownTimer { public MyCountDownTimer(long millisInFuture, long countDownInterval) { super(millisInFuture, countDownInterval); } @Override public void onFinish() { // カウントダウン完了後に呼ばれる Toast.makeText(getApplicationContext(), "TIMEOUT", Toast.LENGTH_LONG).show(); } @Override public void onTick(long millisUntilFinished) { // インターバル(countDownInterval)毎に呼ばれる mTimer.setText(Long.toString(millisUntilFinished / 1000 / 3600) + ":" + Long.toString(millisUntilFinished / 1000 / 60 % 60) + ":" + Long.toString(millisUntilFinished / 1000 % 60)); } }
回答1件
あなたの回答
tips
プレビュー