Je suis en train de montrer une AlertDialog mais je continue à obtenir cette erreurAlertDialog dans AndEngine
01-24 21:52:45.640: E/AndroidRuntime(31119): FATAL EXCEPTION: UpdateThread
01-24 21:52:45.640: E/AndroidRuntime(31119): java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
01-24 21:52:45.640: E/AndroidRuntime(31119): at android.os.Handler.<init>(Handler.java:121)
01-24 21:52:45.640: E/AndroidRuntime(31119): at android.app.Dialog.<init>(Dialog.java:100)
01-24 21:52:45.640: E/AndroidRuntime(31119): at android.app.AlertDialog.<init>(AlertDialog.java:96)
01-24 21:52:45.640: E/AndroidRuntime(31119): at android.app.AlertDialog$Builder.create(AlertDialog.java:891)
Il pointe vers cette ligne
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case 1:
isGameRunning = false;
gameStarted = false;
mEngine.stop();
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("How To Play");
builder.setIcon(R.drawable.ic_launcher);
final AlertDialog alert = builder.create(); //this line
builder.setPositiveButton("Thanks", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
alert.dismiss();
isGameRunning = true;
mEngine.start();
gameStarted = true;
}
});
return alert;
default:
return null;
}
}
De quelle méthode dois-je appeler ce runOnUiThread() ?? Je veux prendre le nom d'utilisateur comme entrée. J'utilise SimpleBaseGameActivity. J'ai essayé de l'exécuter de onCreateScene() avant le retour; mais mon interface utilisateur se déforme. –
Je veux dire que je l'appelle d'une classe externe avec le contexte de SimpleBaseGameActivity mais en sortie, je reçois juste une partie de mon image d'arrière-plan et elle est Fluctuante et l'autre partie est noire. –