Fonsi
Fortgeschrittenes Mitglied
- 16
Hi Leute,
ich will mit Hilfe dieses Tutorials: Updating the UI from a Timer | Android Developers
einen Timer in meine App integrieren. Der Timer soll bei "00:00" anfangen die Sekunden zu zählen. Ich hab nen Button, der den Timer startet, allerdings zeigt mein TextView im Emulator dann dauerhaft "-214134234:0-30" an.
In der Runnable-Prozedur aus dem Tutorial hab ich eigentlich nur die Ausgabe (lblTimer) geändert:
Aufgerufen wird die Prozedur durch den OnClickListener:
Habt ihr Tipps oder Ideen, warum der Timer nicht läuft bzw. falsche Werte liefert?
ich will mit Hilfe dieses Tutorials: Updating the UI from a Timer | Android Developers
einen Timer in meine App integrieren. Der Timer soll bei "00:00" anfangen die Sekunden zu zählen. Ich hab nen Button, der den Timer startet, allerdings zeigt mein TextView im Emulator dann dauerhaft "-214134234:0-30" an.
In der Runnable-Prozedur aus dem Tutorial hab ich eigentlich nur die Ausgabe (lblTimer) geändert:
Code:
private Runnable mUpdateTimeTask = new Runnable() {
public void run() {
final long start = mStartTime;
long millis = SystemClock.uptimeMillis() - start;
int seconds = (int) (millis / 1000);
int minutes = seconds / 60;
seconds = seconds % 60;
if (seconds < 10) {
lblTimer.setText("" + minutes + ":0" + seconds);
} else {
lblTimer.setText("" + minutes + ":" + seconds);
}
mHandler.postAtTime(this,
start + (((minutes * 60) + seconds + 1) * 1000));
}
};
Code:
private OnClickListener mStartListener = new OnClickListener() {
public void onClick(View v) {
if (mStartTime == 0L) {
mStartTime = System.currentTimeMillis();
mHandler.removeCallbacks(mUpdateTimeTask);
mHandler.postDelayed(mUpdateTimeTask, 100);
}
}
};
Zuletzt bearbeitet: