IllegalStateException onFinish CountDownTimer

Я сталкиваюсь со следующим сообщением об ошибке:

java.lang.IllegalStateException: 
at development.nk.tria.PlayMultit.v (Unknown Source)
at development.nk.tria.PlayMultit.a (Unknown Source)
at development.nk.tria.PlayMultit$a.onFinish (Unknown Source)
at android.os.CountDownTimer$1.handleMessage (CountDownTimer.java:118)
at android.os.Handler.dispatchMessage (Handler.java:102)
at android.os.Looper.loop (Looper.java:146)
at android.app.ActivityThread.main (ActivityThread.java:5487)
at java.lang.reflect.Method.invokeNative (Native Method)
at java.lang.reflect.Method.invoke (Method.java:515)  
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1283)  
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1099)  
at dalvik.system.NativeStart.main (Native Method)

Мой код следующий:

 public class MyCountDownTimer extends CountDownTimer {
        MyCountDownTimer(long sTime, long interval) {
        super(sTime, interval);
    }

    @Override
    public void onFinish() {
        time.setText(R.string.done);
        progressBar.setProgress((int)sTime/100);
        score=0;
        scoreTwoGames=0;
        numGames=0;
        success=false;
        yourscore.setText("");
        showFinishDialog();
    }

    @Override
    public void onTick(long millisUntilFinished) {
    ....
    ....
    }
}

showFinishDialog() метод заключается в следующем:

private void showFinishDialog() {
    final Handler handler  = new Handler();
    final Runnable runnable = new Runnable() {
        @Override
        public void run() {
            if (fdSuccess!=null &&  fdSuccess.getDialog()!=null && fdSuccess.getDialog().isShowing()) {
                fdSuccess.dismiss();
            }
        }
    };

    if(success && gameCode==1) { fdSuccess.show(fm, "frag_success");
    } else if (success && gameCode==2 && numGames==1) {
        fdSuccess.show(fm, "frag_success");
        handler.postDelayed(runnable, 1000);
    } else if (success && gameCode==2 && numGames==3){
        fdSuccess.show(fm, "frag_success");
    } else if (!success){ fdFailure.show(fm, "frag_failure");
    } else if (success && gameCode==0) {fdSuccess.show(fm, "frag_success");
    }
    result.setText(finishMessage);
    if(countDownTimer!=null) {countDownTimer.cancel();}
}

Как вы думаете, где проблема, которая вызывает сбой? Программа вылетает внутри на Finish или внутри showFininshDialog() метод?

0 ответов

Другие вопросы по тегам