2013-10-24 76 views
0

我只是想調用一個函數上的按鈕 的每次點擊後3secs到底哪裏出問題了這裏 -小機器人動畫延遲​​問題

galleryBtn.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 
      final Handler handler = new Handler(); 
       for(int i = 0;i<3;i++){ 
       handler.postDelayed(new Runnable() { 
        @Override 
        public void run() { 
         // Do something after 5s = 5000ms 
         viewAnimator.showNext(); 
        } 
       }, 3000); 
       } 
       } 
    }); 

回答

0

其實你不說什麼不順心,但我會大膽猜測沒有任何事情發生(即沒有動畫),其原因可能是您的Handler在處理任何事情之前就已經GC'd了。儘量讓'handlers'作用域從局部變量移動到類成員。 (還要注意的是,即使它工作,所有的3個函數也會或多或少地同時運行,如果你希望它們運行3秒鐘,你應該把'3000'改爲'i * 3000 ')