Я новичок в разработке Android, и я пытаюсь создать небольшую игру. У меня есть мой первый CountDownTimer
, созданный конструктором в моем GameView
подклассе SurfaceView
.Запустите новый CountDownTimer внутри метода запуска
Что я должен сделать для того, чтобы пройти на следующий уровень, это вызвать cancel()
из CountDownTimer class
, readapting все элементы на следующий уровень и создать новый CountDownTimer
снова. Я делаю это в run()
класса GameView
, который реализует Runnable
.
Я читал все через Интернет, но большинство решений использует 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)
Заранее спасибо за ваше время
Вы пытаетесь запустить некоторые функции, относящиеся к пользовательскому интерфейсу, не в основном потоке. – phnmnn
http://stackoverflow.com/questions/11086129/runonuithread-inside-a-view –