0
:私は30を期待していながらアンドロイド、CountDownTimerの待ち時間
timer = new CountDownTimer(30 * 1000, 1000) {
@Override
public void onTick(long millisUntilFinished) {
handleOnTick(millisUntilFinished);
}
@Override
public void onFinish() {
handleOnFinish();
playSound(ALERT_SECOND_FINISH);
}
};
timer.start();
}
private void handleOnTick(long millisUntilFinished) {
millisUntilFinished = millisUntilFinished/1000;
tvTime.setText(
String.format(Locale.US,
"%d:%02d",
min, sec)
);
}
handleOnTick
が呼び出されたときに問題があり、millisUntilFinished
は〜29953
とmillisUntilFinished = millisUntilFinished/1000
では29に等しいです! counter
の値を使用せずにこのレイテンシを処理するにはどうすればよいですか? Bigdecimal
とRounding
を使用しましたが、それでも30000
未満の値を渡します。
タイマー=新しいCountDownTimer(400000、1000){// 40000ミリ秒は1000ミリ秒の合計時間である時間間隔 ます。public void onTick(ロングmillisUntilFinished){ text_timer.setTextです(400-(millisUntilFinished/1000)+ "秒")。 } public void onFinish(){ } } .start(); このような試してみてください – Gattsu