Я пытаюсь в последнее время добавить таймер в свое приложение. Для этого я использовал обработчик и общедоступный метод. До сих пор мне удалось только запустить таймер на одну секунду. Я попытался использовать цикл while, но независимо от того, где, по его словам, приложение разбилось, как только я запустил таймер. Я был бы рад, если бы кто-нибудь мог дать мне пример использования цикла в этой ситуации, чтобы таймер работал до тех пор, пока я этого хочу.Советы по обертке обработчика с петлей
Вот мой код:
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);
}
Показать об ошибке. Вы уверены, что у вас есть аргументы с вашими намерениями? Что такое sec1, sec10, min1, min10? – Apurva