Я хочу показать прошедшие секунды с 60 до 1 - PullRequest
0 голосов
/ 28 июня 2011

Я хочу показать текстовое представление с истекшими секундами от 60 до 1.

Как взять обработчик события?

time = GetTime.Showtime();
elapsetime.setText(time + " Secs");

Ответы [ 3 ]

3 голосов
/ 28 июня 2011
2 голосов
/ 28 июня 2011

Прежде всего, вам нужно создать и инициализировать объект Timer:

Timer myTimer;

myTimer = new Timer();

After that you can call use the schedule method to call timerMethod() (or your method). It will the timerMethod() every second (1000 milliseconds).
myTimer.schedule(new TimerTask() {
@Override
public void run() {
timerMethod();
}
}, 0, 1000);

//Runs your doSomething() in the UI Thread

private void timerMethod()
{
this.runOnUiThread(doSomething);
}

// make your doSomething()  runnable

private Runnable doSomething = new Runnable() {
public void run() {
// Your code for doing something
}
0 голосов
/ 28 июня 2011

я использую управляемый поток обработчика.

handler =new Handler();
         runnable = new Runnable() {
            @Override
            public void run() {

                elapsetime.setText(time+" Secs");
                time--;
                if(time<1){
                    handler.removeCallbacks(runnable);
                }else{
                handler.postDelayed(this, 1000);
                }
            }

        };

        handler.postDelayed(runnable, 1000);
...