Warum hört der Timer auf zu arbeiten, wenn ich die postDelayed(this,1000);
innerhalb der if-Anweisung, knapp unter seconds++;
? Im Layout befinden sich 3 Schaltflächen (Start, Stop, Reset). Drücken Sie Start-> Laufen = true, drücken Stop-> läuft = stoppen, drücken Reset-> läuft = false Sekunden = 0Warum Postdelayed funktioniert nicht in der if-Anweisung
private void runTimer() {
final TextView timeView = (TextView) findViewById(R.id.time_view);
final Handler handler = new Handler();
handler.post(new Runnable() {
@Override
public void run() {
int hours = seconds/3600;
int minutes = (seconds % 3600)/60;
int secs = seconds % 60;
String time = String.format("%d:%2d:%02d", hours, minutes, secs);
timeView.setText(time);
if (running) {
seconds++;
//handler.postDelayed(this, 1000);
//doesnt work if i put it here
}
handler.postDelayed(this, 1000);
}
});
}
fügen Sie bitte Ihren Code hier hinzu. – ADyson
Es erlaubt mir nicht, das zu tun .. es gibt Fehler Ich weiß nicht warum –
Es ist definitiv möglich, Code zu Ihrer Frage hinzuzufügen. Fügen Sie nicht Ihren gesamten Code ein, sondern nur die Teile, die zur Reproduktion des Problems erforderlich sind. Es gibt Anleitungen in den SO-Hilfeseiten, wenn Sie Probleme mit dem Frageneditor haben. Wenn Sie erwähnen, was der Fehler auch war, können wir vielleicht helfen. – ADyson