, поскольку вы можете видеть, что последний вызов onTick происходит с 2 секундами, затем следующий вызов происходит почти через 2 секунды.countdowntimer пропускает несколько миллисекунд
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
tv = new TextView(this);
this.setContentView(tv);
SimpleDateFormat formatter = new SimpleDateFormat("dd.MM.yyyy, HH:mm:ss:SSS");
formatter.setLenient(false);
newTime = "31.12.2015, 23:59:59:999";
try {
newDate = formatter.parse(newTime);
milliseconds = newDate.getTime();
currentTime = System.nanoTime();
diff = milliseconds - currentTime;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
MyCount counter = new MyCount(milliseconds, 1000);
counter.start();
}
CountDownTimer
public class MyCount extends CountDownTimer {
public MyCount(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
}
@Override
public void onFinish() {
}
@Override
public void onTick(long millisUntilFinished) {
serverUptimeSeconds = (millisUntilFinished - System
.currentTimeMillis())/1000;
String serverUptimeText = String.format(
"%d days %d hours %d minutes %d seconds",
serverUptimeSeconds/86400,
(serverUptimeSeconds % 86400)/3600,
((serverUptimeSeconds % 86400) % 3600)/60,
((serverUptimeSeconds % 86400) % 3600) % 60);
tv.setText(serverUptimeText);
}
}
Выход:
10 seconds
8 seconds
6 seconds
4 seconds
P.S ~ проверить видео для получения дополнительной информации
https://www.dropbox.com/s/7b3hme5ekdqpfi1/79789789.avi?dl=0
вы можете изменить в своем коде .. Ур только с указанием часов, мин, сек – Gattsu
только что сделал это, надеюсь, что это помогает теперь;) – iGoDa
Мне тоже нужны дни .. помощь plz в той части – Gattsu