2013-10-24 3 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

Вы на самом деле не сказать, что идет не так, но я буду предположите, что ничего не происходит (т. е. нет анимаций), и причина этого, вероятно, в том, что ваш обработчик GC'd задолго до того, как он справится с чем-либо. Попытайтесь сохранить перемещение области обработчиков от локальной переменной до члена класса.

(Также обратите внимание, что даже если это работает, все три функции будут работать в более или менее одинаковое время. Если вы хотите, чтобы они работали на расстоянии 3 секунды, вы должны изменить «3000» на «i * 3000» '.)

Смежные вопросы