In the following code I want to open the dialog box when the mIndex
is 0.
The code is going in the 'if' part. But is not opening the dialog Box instead showing the following exception.
Code:
mIndex = (mIndex+1)%mQuestionBank.length;
if(mIndex == 0 )
{
Log.d("Quizzler", "Inside IF");
AlertDialog.Builder alert = new AlertDialog.Builder(getApplicationContext());
alert.setTitle("Game Over");
alert.setCancelable(false);
alert.setMessage("Your score is "+mScore);
alert.setPositiveButton("Close Application", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
finish();
}
});
alert.show();
}
Exception:
FATAL EXCEPTION: main
Process: com.londonappbrewery.quizzler, PID: 11560 android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application
at android.view.ViewRootImpl.setView(ViewRootImpl.java:714)
at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:342)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:94)
at android.app.Dialog.show(Dialog.java:316)
at android.app.AlertDialog$Builder.show(AlertDialog.java:1112)
at com.londonappbrewery.quizzler.MainActivity.updateQuestion(MainActivity.java:100)
at com.londonappbrewery.quizzler.MainActivity.access$100(MainActivity.java:16)
at com.londonappbrewery.quizzler.MainActivity$1.onClick(MainActivity.java:69)
at android.view.View.performClick(View.java:5609)
at android.view.View$PerformClick.run(View.java:22263)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6077)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)