2016-09-27 57 views
0

我想最好的辦法是實施這種行爲是什麼:計劃執行代碼在未來

我有一個事件X與時有發生時間的ID。 如果發生了某個特定ID的事件,我想在25秒後執行一些代碼,除非再次發生具有相同ID的X,在這種情況下,我希望它以25秒的時間再次推遲。

實現此目的的最佳方法是什麼?

+0

我個人更喜歡'Handler' – Shaishav

回答

0

下面介紹如何使用簡單的處理程序來延遲運行25秒。這取決於你如何篩選某些ID。

Handler handler = new Handler(); 

    public void myEvent() { 

     // Remove any callback that may be registered, this will reset it if called before 
     handler.removeCallbacks(runMe); 
     // Execute the runnable in 25 seconds 
     handler.postDelayed(runMe, 25000); 
    } 
    Runnable runMe = new Runnable() { 

     @Override 
     public void run() { 
     // This will run after the postDelayed expires in 25 seconds 
     Log.d("TAG", "Run me at some time"); 
     } 
    };