2012-12-05 17 views

cevap

5

gibi basit bir değişken ekleyin .. Tabii

boolean isTaskCompleted = false; 
    Timer timer = new Timer();  
    TimerTask task = new TimerTask() { 

    @Override 
    public void run() { 
     // do stuff 
     isTaskCompleted = true; 
    } 
    }; 

    timer.schedule(task, 10000);//execute after 10 seconds 
+0

Bu iyi bir fikir! Ama aynı görevi birden fazla amaç için birden çok kez çağırdığımda. Ancak, farklı görevleri iptal etmek için farklı zamanlayıcı değişkenlerim var. Bu zamanlayıcı zamanlayıcısına karşılık gelen görevin çalışıp çalışmadığını nasıl bulabilirim. – Anand

3

,

class CustomTask extends TimerTask { 
    protected boolean isDone = false; 
    public boolean isDone() {return isDone; } 

    @Override 
     public void run() {} 
} 

CustomTask task = new CustomTask() { 
    @Override 
    public void run() { 
     isDone=true; 
    } 
}; 

DÜZENLEME: Sınıfa uzanan memnun değilseniz, siz) (yöntem scheduledExecutionTime kullanabilirsiniz , bu Görev çalışmazsa 0 değerini döndürür.

http://docs.oracle.com/javase/6/docs/api/java/util/TimerTask.html

+0

Bu geçici çözüm hakkında biliyorum .. Ama sorun burada TimerTask uzatmak sürece Done() açıkça çağrılabilir değil. Ama ben bunun için TimerTask herhangi bir api olup olmadığını bilmek istedim .. – Pavan

+0

tamam, var, benim cevabımı değiştirdim :) – JustDanyul

+0

teşekkürler .. ama scheduleExecutionTime() için android doc diyor ki: henüz çalıştırmayan görevler tanımsız bir değer döndür. http://developer.android.com/reference/java/util/TimerTask.html#scheduledExecutionTime() – Pavan