У меня проблема с начальным хронометром с определенного времени. Существует объект Дата Я хочу, чтобы мой старт хронометра от:Как установить базовое время Android Chronometer из объекта Date?
Date d = new Date(); //now, just for example
chronometer.setBase(d.getTime()); //long value of d
Log.d("Date: " , "d.getTime() time is [" + d.getTime() +"]");
Log.d("Chron: " , "chronometer.getBase() is [" + chronometer.getBase() +"]");
//let's print out elapsedRealtime from official sample
Log.d("Chron: " , "SystemClock.elapsedRealtime() is [" + SystemClock.elapsedRealtime() +"]");
Выход:
06-02 13:35:23.025: D/Date:(928): d.getTime() time is [1338644123032]
06-02 13:35:23.037: D/Chron:(928): chronometer.getBase() is [1338644123032]
06-02 13:35:23.037: D/Chron:(928): SystemClock.elapsedRealtime() is [11624388]
На самом деле, почему это длинные значения времени differes (11624388 и 1338644123032)?
Когда я начинаю свой хронометр от основания
chronometer.setBase(SystemClock.elapsedRealtime());
- это всегда хорошо работает («00:00» и рост)
Но когда я пытаюсь установить дату из прошлого Даты (Ой вчера):
chronometer.setBase(yesterday.getTime());
- это показывает "00: 0 (" и меняет каждую секунду последнюю полукокса в ")", "*", "/" и другие
Не могли бы вы посоветовать, как я могу установить базу хронометра для объекта Date?
спасибо Марк. Моя цель - создать цифровые часы, которые показывают продолжительность времени между двумя действиями (хранимыми в базе данных с записью времени). Не могли бы вы посоветовать наилучшую практику для этого? – Vitalliuss
@Vitalliuss: Если время начала и окончания фиксировано в базе данных, просто используйте «TextView», так как ваше значение не изменится. Если ваше время начала фиксируется в базе данных и вы рассчитываете оттуда, вам нужно будет создать свой собственный эквивалент «хронометр», который занимает время начала в 'System.currentTimeMillis()' time, а не 'elapsedRealtime() '. Поскольку ['Chronometer' не очень длинный класс] (https://github.com/android/platform_frameworks_base/blob/master/core/java/android/widget/Chronometer.java), клонирование и создание собственного достаточно легко. – CommonsWare
Попробуем переписать хронометр для моего проекта. Большое спасибо! – Vitalliuss