Ich habe ein Problem mit dem Starten des Chronometers von der bestimmten Zeit. Es ist ein Date-Objekt ich meinen Chronometer Start will aus:Wie wird die Android Chronometer-Basiszeit vom Date-Objekt eingestellt?
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() +"]");
Ausgang:
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]
Eigentlich, warum diese langen Zeitwert, differiert (11.624.388 und 1338644123032)?
Wenn ich meine Chronometer von der Basis beginnen
chronometer.setBase(SystemClock.elapsedRealtime());
- es funktioniert immer in Ordnung („00:00“ Tendenz steigend)
Aber wenn ich versuche, das Datum aus einem vergangenen Datum einzustellen (fe gestern):
chronometer.setBase(yesterday.getTime());
- es zeigt "00: 0 (" und ändert sich jede Sekunde die neueste char ")", "*", "/" und andere
Können Sie mir bitte mitteilen, wie ich die Chronometerbasis auf ein Date-Objekt einstellen kann?
Dank Mark. Mein Ziel ist es, eine digitale Uhr zu erstellen, die die Zeitdauer zwischen zwei Aktivitäten anzeigt (gespeichert in der Datenbank mit der Zeitaufzeichnung). Könnten Sie bitte die beste Vorgehensweise dafür empfehlen? – Vitalliuss
@Vitalliuss: Wenn Ihre Start- und Endzeiten in einer Datenbank festgelegt sind, verwenden Sie einfach 'TextView', da sich Ihr Wert nicht ändert. Wenn Ihre Startzeit in einer Datenbank festgelegt ist und Sie von dort aus zählen, müssen Sie ein eigenes 'Chronometer'-Äquivalent erstellen, das eine Startzeit in der' System.currentTimeMillis() 'Zeitbasis anstelle von' elapsedRealtime() 'benötigt. '. Da ['Chronometer' keine sehr lange Klasse ist] (https://github.com/android/platform_frameworks_base/blob/master/core/java/android/widget/Chronometer.java), sollte das Klonen und Erstellen eines eigenen sein ziemlich einfach. – CommonsWare
Wird versuchen, Chronometer für mein Projekt neu zu schreiben. Danke vielmals! – Vitalliuss