2010-01-31 15 views
7

Bir android uygulaması geliştiriyorum Bir aktiviteden diğerine gitmem gerekiyor. ilk önce butonun renklerini değiştirmek zorundayım.) ve daha sonra bu aynı işlevi (bu yapılır amaç-c şimdi ayin içindeyim bir)Java'nın eşdeğeri [self performSelector: foo afterDelay: 2]

çağrı [öz performSelector: ece afterDelay: 2]

yüzden onun java eşdeğer gerekir.

cevap

9

Android'deki gecikmeli eylemler için, postDelayed() method numaralı telefonu kullanarak Android Handler class'u kullanmanızı öneririz.

private Handler mHandler = new Handler(); 

Ve şöyle ardından gecikme eylemi ekleyin::

üye değişkeni olarak sizin Activity için bir işleyici oluşturun mutlaka bu eğer bir işleyicisi gerekmez

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

Not zaten sahip değilsin. postDelayed() 'ayrıca herhangi bir widget’ta (ör.' Button') da kullanılabilir. – CommonsWare

+1

run() işlevi, çağrıldığı sınıftan aynı veya farklı bir iş parçacığı üzerinde yürütülür mü? Farklıysa, aynı iş parçasında çalışmasını sağlamak için bir yolu var mı? –

İlgili konular