Я написал приложение для обратного отсчета для Android, и до сих пор мне удалось отобразить время с момента открытия приложения, но оно не обновляется. Я думаю, что это имеет какое-то отношение к использованию функции postDelayed
, но я понятия не имею, как это применить, и я не могу ничего сделать из документации. Помощь была бы очень оценена!Повторяя скрипт каждую секунду
То, что я до сих пор:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Time now = new Time();
now.setToNow();
Time decision = new Time();
decision.set(7, 0, 2014);
long nowutc = now.toMillis(false);
long decutc = decision.toMillis(false);
long difference = decutc - nowutc;
int days = (int) difference/86400000;
int hours = (int) (difference % 86400000)/3600000;
int leftover = (days*86400000) + (hours*3600000);
int minutes = (int) (difference - leftover)/60000;
int secleft = (int) leftover + (minutes*60000);
int seconds = (int) (difference-secleft)/1000;
((TextView)findViewById(R.id.time)).setText(days + " days " + hours + " hours " + minutes + " minutes " + seconds + " seconds ");
}
Что вы имеете в виду обновления? Должны ли вы сбросить время, если вы отправляете приложение на фон или что вы ожидаете? – Prem
взгляните на эту ссылку http://stackoverflow.com/questions/4873196/dynamically-update-textview-in-android –
Я имею в виду, что сценарий запускается каждую секунду, поэтому таймер фактически рассчитывает вниз, вместо того, чтобы оставаться статичным. – CuriousCabbage