2015-09-07 25 views
1

我已經使用Runnable並將其附加到視圖中,我很困惑,我該如何檢查相同的視圖是否已經有runnable附件? 請參閱例如更多的澄清..如何檢查Runnable是否附加到查看

private Runnable mRunnable = new Runnable() { 
    @Override 
    public void run() { 
     myButton.postDelayed(this, 60000); 
     // code 
    } 
}; 


@Override 
public void onResume() { 
    super.onResume(); 
    myButton.Post(mRunnable); // Here i want to check whether runnable is already added or not 
} 

@Override 
public void onStop() { 
    super.onStop(); 
    myButton.removeCallbacks(mRunnable); 
} 
+0

使用布爾標誌... – koutuk

回答

0

//這裏我要檢查是否可運行已經添加或不

沒有辦法知道。你可以做的是致電

myButton.removeCallBacks(null); 

就在撥打電話myButton.post(mRunnable);之前。

這樣,當調用onResume時,您將確定排隊等於mRunnable只有一個實例。爲了避免泄漏,你應該清理隊列

+0

所有這些都是正確的,但它可能不是OP所要達到的。在您提出的解決方案中,「60s計時器」將被重置,而如果您可以執行OP正在查找的內容,則不會。 –

+0

這是真的。但是,想想如果他離開60秒以上的活動會發生什麼,而不會調用'removeCallBacks(null);',onPause。 @ci_ – Blackbelt

相關問題