я сделал, результатом которого дисплей класса в mmm:ss
форматеКак преобразовать миллисекунды в формат "mmm: ss"?
Ниже приведен код:
class CountDown extends CountDownTimer {
public CountDown(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
}
@Override
public void onTick(long millisUntilFinished) {
long ms = millisUntilFinished;
String text = String.format("%03d:%02d",
TimeUnit.MILLISECONDS.toMinutes(ms) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(ms)),
TimeUnit.MILLISECONDS.toSeconds(ms) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(ms)));
tvTimer.setText(text);
}
@Override
public void onFinish() {
try {
new AlertDialog.Builder(MCQActivity.this)
.setTitle("Time is over")
.setMessage("Your time is finished, Click on ok to go result page")
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
saveWorkAndShowResult();
}
})
.setIcon(android.R.drawable.ic_dialog_alert)
.show();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Если я передаю
mCountDownTimer = new CountDown(1000 * 60 * 30, 1000);
mCountDownTimer.start();
Он работает нормально и показывает мне 30 mins
Но если я хочу показать 180 min
mCountDownTimer = new CountDown(1000 * 60 * 180, 1000);
Он начинает с 60 min
Может кто-нибудь помочь мне, как решить эту проблему?
Возможно, потому что в вашем форматировании нет «части часа» –
@RC. спасибо за ваше предложение, пожалуйста, помогите мне, как решить эту проблему. –
С «сырым» вычислением: https://ideone.com/Aa02CG –