| |||||||
Das Thema "Probleme mit Timer" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.
|
| | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Android-Hilfe.de Mitglied Modell: Samsung Galaxy S2, Sony Ericsson Xperia ray Registriert seit: 08.07.2011
Beiträge: 175
Abgegebene Danke: 2
Erhielt 18 Danke für 17 Beiträge
| 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);
}
}
}; Geändert von Fonsi (19.09.2011 um 11:47 Uhr) |
| | |
| | #2 (permalink) |
| Fortgeschrittenes Mitglied Modell: HTC Desire HD Registriert seit: 09.08.2010
Beiträge: 345
Abgegebene Danke: 11
Erhielt 40 Danke für 38 Beiträge
|
UI aktualisieren lassen! Muss im UI Thread passieren, deswegen einen Handler verwenden. invalidate() der Activity aufrufen
__________________ Tutorials: - Getting Started with the Android NDK(en) - Zuverlässigkeit und Flußkontrolle bei der Datenübertragung in Multiplayer Games (de) - ExpandableListView mit X Leveln(de) |
| | |
| | #3 (permalink) | ||
| Android-Hilfe.de Mitglied |
Hallo Fonsi, und das zweite Problem sind deine negativen Zahlen. Zitat:
Zitat:
Weiter als negativen Zahlen und invalidate habe ich nicht geguckt. Probier das aus, wenn noch Unklarheiten aufkommen... ![]() regards Quelle der Zitaten: http://developer.android.com/referen...stemClock.html | ||
| | |
| | #4 (permalink) |
| Android-Hilfe.de Mitglied Modell: Samsung Galaxy S2, Sony Ericsson Xperia ray Registriert seit: 08.07.2011
Beiträge: 175
Abgegebene Danke: 2
Erhielt 18 Danke für 17 Beiträge
| Wo rufe ich das invalidate() denn dann genau auf? In der Runnable-Prozedur gehts ja nicht, weil das kein UI-Thread ist.
Geändert von Fonsi (19.09.2011 um 13:24 Uhr) |
| | |
| | #5 (permalink) |
| Fortgeschrittenes Mitglied Modell: HTC Desire HD Registriert seit: 09.08.2010
Beiträge: 345
Abgegebene Danke: 11
Erhielt 40 Danke für 38 Beiträge
|
Als Member anlegen: PHP-Code: PHP-Code:
__________________ Tutorials: - Getting Started with the Android NDK(en) - Zuverlässigkeit und Flußkontrolle bei der Datenübertragung in Multiplayer Games (de) - ExpandableListView mit X Leveln(de) Geändert von Unicate (19.09.2011 um 14:31 Uhr) |
| | |
| | #6 (permalink) |
| Android-Hilfe.de Mitglied Modell: Samsung Galaxy S2, Sony Ericsson Xperia ray Registriert seit: 08.07.2011
Beiträge: 175
Abgegebene Danke: 2
Erhielt 18 Danke für 17 Beiträge
|
Danke, das hab ich jetzt mal hinzugefügt. Allerdings scheint es Code: CounterActivity.this.invalidate(); Was ich auch noch nicht so ganz verstehe aus dem Beispiel ist das hier: Code: mHandler.postAtTime(this,start + (((minutes * 60) + seconds + 1) * 1000)); Beim Zähler soll die Prozedur doch jede Sekunde aufgerufen werden. Wenn ich aber Code: mHandler.postAtTime(this,1000)); |
| | |
| | #7 (permalink) |
| Fortgeschrittenes Mitglied Modell: HTC Desire HD Registriert seit: 09.08.2010
Beiträge: 345
Abgegebene Danke: 11
Erhielt 40 Danke für 38 Beiträge
|
Tschuldige natürlich muss da die View rein und nicht die ganze Activity
__________________ Tutorials: - Getting Started with the Android NDK(en) - Zuverlässigkeit und Flußkontrolle bei der Datenübertragung in Multiplayer Games (de) - ExpandableListView mit X Leveln(de) |
| | |
| | #8 (permalink) |
| Android-Hilfe.de Mitglied Modell: Samsung Galaxy S2, Sony Ericsson Xperia ray Registriert seit: 08.07.2011
Beiträge: 175
Abgegebene Danke: 2
Erhielt 18 Danke für 17 Beiträge
|
Shame on me! Ich hab ganze 6 Stunden gebraucht, um herauszufinden, dass es für mein Vorhaben das Chronometer gibt . Man sollte sich vor der Entwicklung der ersten App die Controls genauer anschauen ![]() Trotzdem danke an alle, die geholfen haben! Es läuft nun |
| | |
![]() |
|
| Themen-Optionen | |
| Ansicht | |
| |
| ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Probleme,probleme,probleme (mit Handy und mit Kies) | Mimi1406 | Samsung Galaxy 3 (I5800) Forum | 8 | 28.08.2011 11:10 |
| Timer | Blackout4 | Tools | 2 | 02.08.2011 17:25 |
| Prepaid Timer | r-zwo_d-zwo | Tools | 0 | 30.05.2011 08:55 |
| Timer mit Datum einstellbar? | gillan | Dell Streak 5 Forum | 10 | 08.01.2011 14:42 |
| Music Sleep Funktion (Sleep Timer oder Standby Timer) | mstyle83 | Tools | 2 | 30.06.2009 19:58 |