2015-01-21 2 views
0

Timer를 사용하는 프로그램이 Java에서는 작동하지만 Android에서는 작동하지 않습니다. Android는 ActionListener, ActionEvent 또는 timer.start(), timer.stop()을 허용하지 않았습니다. 어떻게해야합니까? 어떤 도움을 주셔서 감사합니다!안드로이드에서 자바 타이머를 사용하는 방법?

private Timer timer; 

    timer = new Timer(2 * 1000, new ActionListener(){ 
    public void actionPerformed(ActionEvent e) { 

      if(condition == true) { 
      // do my job when it's true 
            } 
      else{ 
      timer.stop(); //stop it 
       } 
               } 
      }); 
      timer.setRepeats(true);//auto restarts the timer after it triggers 
+0

어떤 Timer 클래스를 사용하고 계십니까? java.util.Timer? javax.swing.Timer? java.util.Timer는 생성자에서 ActionListener를 가져 오지 않습니다 ... – John3136

+0

import javax.swing.Timer; –

답변

1

대신 이전에 사용하던 javax.swing.Timer 클래스의 java.util.Timer 클래스를 사용해야합니다.

따라서 ActionListener 대신 java.util.TimerTask으로 타이머를 구성해야합니다.

또한 반복적으로 타이머를 중지하고 시작할 수 없습니다. cancel() 만 사용할 수 있으며 다시 사용할 수 없으므로 시작할 때마다 새 타이머를 만들어야합니다.

관련 문제