Ich habe diese Zeit in Sekundeninitialisieren Chronometer mit bestimmten Zeit JAVA
(zB Sekunden = 2796)
long seconds =2796;
long millis = seconds * 1000;
Also ich meine Chronometer wollen bei 46min 36sec beginnen
I versucht, dies zu tun:
chronometer.setBase(myMillis);
long seconds =2796;
long stoptime_millis = seconds * 1000;
long elapsedMillis = SystemClock.elapsedRealtime() - stoptime_millis;
customChronometer.setBase(elapsedMillis);
customChronometer.start();
Aber es funktioniert nicht.
mit diesem Code meine Chrono 00:00
beginnen Ich habe versucht, verschiedene Ansätze, aber nichts scheint zum Beispiel dieses Android Chronometer start with defined value
Das ist mein CustomChronometer
public class CustomChronometer extends Chronometer {
public int msElapsed;
public boolean isRunning = false;
public CustomChronometer(Context context, AttributeSet attrs) {
super(context, attrs);
}
public CustomChronometer(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public CustomChronometer(Context context) {
super(context);
}
public int getMsElapsed() {
return msElapsed;
}
public void setMsElapsed(int ms) {
setBase(getBase() - ms);
msElapsed = ms;
}
@Override
public void start() {
super.start();
setBase(SystemClock.elapsedRealtime() - msElapsed);
isRunning = true;
}
@Override
public void stop() {
super.stop();
if (isRunning) {
msElapsed = (int) (SystemClock.elapsedRealtime() - this.getBase());
}
isRunning = false;
}
}
Wenn Sie die Start() -Methode aufrufen Sie setBase wieder anrufen. Ihr msElapsed ist höchstwahrscheinlich 0, so dass Sie immer Ihre Basis zurücksetzen. Auf diese Weise wird die customChronometer.setBase (electrifiedMillis); wird ignoriert. –
Ja @ LeandroBorgesFerreira das ist richtig. Das ist die richtige Antwort. Du hast meinen Tag gerettet – exequielc
Du bist willkommen =]. Ich poste einfach meinen Kommentar als Antwort. Wenn Sie es als die richtige Antwort akzeptieren können, schätze ich es. –