S
scrats
Neues Mitglied
- 0
Wie immer mach ich was falsch und komme nicht drauf!
Die Idee war wenn man gewinnt, soll mit AlertDialog gezeigt werbden Gewonnen, bzw Verloren und dann das Spiel beenden (finish()) wieder zurück ins Hauptmenu.
Dies in der Activity Klasse drin und funktioniert auch!
Aufrufen utu ich es so:
showDialog(0);
jetzt zu dem Problem:
Beim ersten mal Spielen funktioniert alles normal. Ich Gewinne es kommt die Meldung. Ich drücke den Button und komme wieder ins Hauptmenu. Mach ich ein neues Spiel und gewinne(bzw. verliere) dieses stürzt die Aktivity ab.
Meine vermutung liegt darin das der alte Dialog noch existiert. Ich habe es verucht bei der onDestroy mit:
diablog.dismiss();
oder
diablog.cancel();
beides funktioniert nicht!
***
hier mal der FehlerCode ab dort wo ich aufrufe hab ich alles abgeschnitten
Die Idee war wenn man gewinnt, soll mit AlertDialog gezeigt werbden Gewonnen, bzw Verloren und dann das Spiel beenden (finish()) wieder zurück ins Hauptmenu.
Code:
protected Dialog onCreateDialog(int id) {
AlertDialog.Builder builder;
Log.v(TAG, "onCreateDialog");
switch(id) {
case DIALOG_WIN:
Log.v(TAG, "Dialog: gewonnen");
builder = new AlertDialog.Builder(this);
builder.setMessage("Gewonnen");
builder.setCancelable(false);
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Log.v(TAG, "Dialog: Fehler?4");
finish();
}
});
dialog = builder.create();
break;
case DIALOG_LOSE:
Log.v(TAG, "Dialog: verloren");
builder = new AlertDialog.Builder(this);
builder.setMessage("Verlooooooooren")
.setCancelable(false)
.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
finish();
}
});
dialog = builder.create();
break;
default:
dialog = null;
}
return dialog;
}
Aufrufen utu ich es so:
showDialog(0);
jetzt zu dem Problem:
Beim ersten mal Spielen funktioniert alles normal. Ich Gewinne es kommt die Meldung. Ich drücke den Button und komme wieder ins Hauptmenu. Mach ich ein neues Spiel und gewinne(bzw. verliere) dieses stürzt die Aktivity ab.
Meine vermutung liegt darin das der alte Dialog noch existiert. Ich habe es verucht bei der onDestroy mit:
diablog.dismiss();
oder
diablog.cancel();
beides funktioniert nicht!
***
hier mal der FehlerCode ab dort wo ich aufrufe hab ich alles abgeschnitten
Code:
02-03 23:25:06.127: ERROR/AndroidRuntime(745): Uncaught handler: thread main exiting due to uncaught exception
02-03 23:25:06.157: ERROR/AndroidRuntime(745): android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@435c9318 is not valid; is your activity running?
02-03 23:25:06.157: ERROR/AndroidRuntime(745): at android.view.ViewRoot.setView(ViewRoot.java:425)
02-03 23:25:06.157: ERROR/AndroidRuntime(745): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:178)
02-03 23:25:06.157: ERROR/AndroidRuntime(745): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
02-03 23:25:06.157: ERROR/AndroidRuntime(745): at android.view.Window$LocalWindowManager.addView(Window.java:392)
02-03 23:25:06.157: ERROR/AndroidRuntime(745): at android.app.Dialog.show(Dialog.java:231)
02-03 23:25:06.157: ERROR/AndroidRuntime(745): at android.app.Activity.showDialog(Activity.java:2407)
02-03 23:25:06.157: ERROR/AndroidRuntime(745): at com.pse.View.graphics2D.PlayArea2D.update(PlayArea2D.java:286)
Zuletzt bearbeitet: