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()
метод?