Перед тем, как начать, я смотрел на множество нитей, включая:Как добавить время в рабочий таймер обратного отсчета?
How to add time to countdown timer? Android game countdown timer
Но я просто не могу получить мой таймер, чтобы работать так, как я требую. Я хочу, чтобы таймер отсчитывал от 30, а когда и изображение нажато (в этом случае названо imageview1), таймер добавляет к таймеру 3 секунды, чтобы дать ему больше времени. Я знаю, что вы не можете существенно прибавить время его бега и вам нужно отменить, а затем начать новый таймер, код у меня до сих пор:
public void onClick(View v) {
// TODO Auto-generated method stub
//GlobalClass global = new GlobalClass();
Random rand = new Random();
CountDownTimer thetimer = new myTimer(millisInFuture, 1000);
switch(v.getId()) {
case R.id.buttonstart:
btnstart.setVisibility(View.INVISIBLE);
thetimer.start();
break;
case R.id.imageView1:
if (thetimer != null){
thetimer.cancel();
thetimer = new myTimer(countdownPeriod + 3000, 1000).start();
}
break;
с большим количеством других ссылок так, то:
public class myTimer extends CountDownTimer {
public myTimer(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
}
@Override
public void onTick(long millisUntilFinished) {
timedisplay.setText("Time Left: " + millisUntilFinished/1000);
countdownPeriod=millisUntilFinished;
}
@Override
public void onFinish() {
timedisplay.setText("Timer Finished");
started = false;
btnstart.setVisibility(View.VISIBLE);
}
}
Я думаю, что проблема заключается в том, что он не отменяет оригинальный таймер, поэтому ярлык, показывающий таймер, делает некоторые сумасшедшие вещи, например, прыгает на разных номерах вверх и вниз, так как там будет больше, чем 1 класс этого тимера. Это несмотря на то, что я включил строку thetimer.cancel(); Таймер работает нормально, если я просто дайте ему поработать на 0.
Любая помощь будет большим
Привет, Благодарим вас за ответ. Я изменил его, чтобы объявить countdowntimer вне метода onclick (ошибка школьника), однако по-прежнему не удается остановить таймер при щелчке изображения ... i.e timer.cancel(); Любые другие идеи? – Xeo
Я думаю, что это что-то общего со мной, открытый класс JavaMenu расширяет Activity реализует onclicklistener. Я удалил утилиты onclicklistener и вынул инструкцию к делу и заменил слушателей Onclick на каждый отдельный imgviews и т. Д., И теперь он работает ... не на 100%, почему он не был счастлив, работая в том, как я изначально настроил его .... но теперь это LOL ... выходные делают чудеса для мозга. Спасибо за помощь – Xeo