Android CountDownTimer とDateFormat

■ インポート部

import android.widget.Toast;
import android.os.CountDownTimer;
import java.text.SimpleDateFormat;
import java.util.Locale;

■ 変数の定義

private SimpleDateFormat dataFormat =
new SimpleDateFormat("mm:ss.SSS", Locale.US);
public MyView myView;

■タイマーの初期化
myView = this.findViewById(R.id.myview);
// 60秒= 60x1000 = 60,000 msec
long countNumber = 60000;
// インターバル msec
long interval = 1000;
// インスタンス生成
final CountDown countDown = new CountDown(countNumber, interval);

// 開始
countDown.start();
// 中止
// countDown.cancel();


■タイマーの本体

class CountDown extends CountDownTimer {
CountDown(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
}

@Override
public void onFinish() {
// 完了
Toast.makeText(getApplicationContext(), "完了: " + dataFormat.format(0), Toast.LENGTH_SHORT).show();
}
// インターバルで呼ばれる

@Override
public void onTick(long rest_msec) {
// 残り時間を分、秒、ミリ秒に分割
//long mm = rest_msec / 1000 / 60;
//long ss = rest_msec / 1000 % 60;
//long ms = rest_msec - ss * 1000 - mm * 1000 * 60;
//timerText.setText(String.format("%1$02d:%2$02d.%3$03d", mm, ss, ms));

Toast.makeText(getApplicationContext(), "残り: " + dataFormat.format(rest_msec), Toast.LENGTH_SHORT).show();

myView.time_count_down = rest_msec;
myView.invalidate();
}
}

この記事が気に入ったらサポートをしてみませんか?