0

저는 안드로이드 개발에 초보자 며, 게임을 조금 만들려고합니다. 내 GameView 서브 클래스 SurfaceView의 생성자에 의해 처음으로 CountDownTimer을 만들었습니다. 나는 다음 수준에 통과하기 위해 무엇을해야실행 방법 내에 새로운 CountDownTimer를 시작하십시오.

은의 CountDownTimer classcancel()를 호출 다음 레벨의 모든 요소를 ​​readapting 다시 새로운 CountDownTimer을 만드는 것입니다. 나는 Runnable을 구현하는 내 GameView 클래스의 run() 클래스에서이 작업을 수행하고 있습니다.

저는 온라인에서 기사를 읽었지만, 대부분의 솔루션은 Activities을 사용하고 있습니다. 제가 말했듯이, SurfaceView의 하위 클래스에서 일하고 있습니다.

이 내가

E/AndroidRuntime: FATAL EXCEPTION: Thread-4 
       Process: com.example.lucadigiammarino.biogame, PID: 3569 
       java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare() 
        at android.os.Handler.<init>(Handler.java:200) 
        at android.os.Handler.<init>(Handler.java:114) 
        at android.os.CountDownTimer$1.<init>(CountDownTimer.java:114) 
        at android.os.CountDownTimer.<init>(CountDownTimer.java:114) 
        at com.example.lucadigiammarino.biogame.GameCountDownTimer.<init>(GameCountDownTimer.java:0) 
        at com.example.lucadigiammarino.biogame.GameView.startTimer(GameView.java:135) 
        at com.example.lucadigiammarino.biogame.GameView.run(GameView.java:306) 
        at java.lang.Thread.run(Thread.java:761) 
가 @Roman에

+0

주 스레드가 아닌 UI를 다루는 일부 기능을 실행 해보십시오. – phnmnn

+0

http://stackoverflow.com/questions/11086129/runonuithread-inside-a-view –

답변

0

덕분에 나는 내 문제를 해결하기 위해 관리하는 시간에 미리 감사 수신하고있는 오류가, 대답은 더 자세한 설명은 여기에있다 - ->runOnUiThread inside a View

Thread 내 을 사용하여 post()을 작성했습니다. 나는 서브 클래스가 SurfaceView 인 것을 반복한다.

post(new Runnable() { 
    @Override 
    public void run() { 
     myTimer.cancel; 
     startTimer() //creates a new timer 
    } 
}); 

앞으로 다른 사람에게 도움이되기를 바랍니다.