Ich habe in letzter Zeit versucht, einen Timer in meine App hinzuzufügen. Ich habe einen Handler und die Public-Run-Methode verwendet, um das zu tun. Bis jetzt habe ich es nur geschafft, den Timer für eine Sekunde laufen zu lassen. Ich habe versucht, eine While-Schleife zu verwenden, aber egal, wo ich sie hinlegte, die App stürzte ab, sobald ich den Timer startete. Ich würde mich freuen, wenn mir jemand ein Beispiel für die Verwendung einer Schleife in dieser Situation geben könnte, so dass der Timer so lange läuft, wie ich es möchte.Hinweise zum Einwickeln eines Handlers mit einer Schleife
Hier ist mein Code:
if (v == btnStart) {
Toast.makeText(ScoreBoardActivity.this, "The game has started. ENJOY!", Toast.LENGTH_LONG).show();
btnStart.setText("STOP GAME");
int playTime = (getIntent().getExtras().getInt("gameTime"))/10;
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
public void run() {
int playTime = (getIntent().getExtras().getInt("gameTime"))/10;
if (sec1 < 9) {
sec1 = sec1 + 1;
tvSec1.setText(String.valueOf(sec1));
tvSec10.setText(String.valueOf(sec10));
tvMin10.setText(String.valueOf(min10));
tvMin1.setText(String.valueOf(min1));
} else if (sec1 == 9 && sec10 < 5) {
sec1 = 0;
sec10 = sec10 + 1;
tvSec1.setText(String.valueOf(sec1));
tvSec10.setText(String.valueOf(sec10));
tvMin10.setText(String.valueOf(min10));
tvMin1.setText(String.valueOf(min1));
} else if (sec1 == 9 && sec10 == 5 && min1 < 9) {
sec1 = 0;
sec10 = 0;
min1 = min1 + 1;
tvSec1.setText(String.valueOf(sec1));
tvSec10.setText(String.valueOf(sec10));
tvMin10.setText(String.valueOf(min10));
tvMin1.setText(String.valueOf(min1));
} else if (sec1 == 9 && sec10 == 5 && min1 == 9 && min10 < playTime) {
sec1 = 0;
sec10 = 0;
min1 = 0;
min10 = min10 + 1;
tvSec1.setText(String.valueOf(sec1));
tvSec10.setText(String.valueOf(sec10));
tvMin10.setText(String.valueOf(min10));
tvMin1.setText(String.valueOf(min1));
}
}
}, 1000);
}
Fehler anzeigen. Sind Sie sicher, dass Sie Argumente mit Ihrer Absicht bekommen? Was ist sec1, sec10, min1, min10? – Apurva