2010-01-31 78 views
7

我正在開發一個Android應用程序 我需要從一個活動到另一個 在那首先我需要改變按鈕的顏色,然後延遲(以便),然後調用此相同的功能(一個我在儀式現在)Java的相當於[self performSelector:foo afterDelay:2]

在Objective-C是與完成[自performSelector:富afterDelay:2]

所以我需要它的Java等價的。

回答

9

對於Android中的延遲操作,我建議使用Android Handler class及其postDelayed() method

爲您Activity處理程序作爲一個成員變量:

private Handler mHandler = new Handler(); 

,然後添加你的延時動作如下:

mHandler.postDelayed(new Runnable() { 
     public void run() { 
      //Do you thing here 
     } 
    },2000); 
+0

注意,你不一定需要一個處理程序爲這個,如果你還沒有一個。 'postDelayed()'也可用於任何小部件(例如'Button')。 – CommonsWare 2010-01-31 23:26:08

+1

run()函數是否在與調用它的類相同或不同的線程上執行?如果不同,有沒有辦法讓它在同一個線程中運行? – 2011-08-03 13:48:44