2011-12-23 3 views
2

Я использую AndEngine для своей игры. В том, что я хочу предоставить пользователю возможность, когда они нажимают на изображение, должно появиться одно диалоговое окно предупреждения. мой код ниже. здесь методКак показать alertDialog в Andengine?

@Override 
protected Dialog onCreateDialog(int id) { 
    switch (id) { 
    case 1: 
     AlertDialog.Builder builder = new AlertDialog.Builder(MyGame.this.getApplicationContext()); 
     builder.setMessage("Hello"); 
     AlertDialog alert = builder.create(); 
     return alert; 
    default: 
     return null; 
    }  
} 

и я называю этот метод этим утверждением:

{ 
onCreateDialog(1).show(); 

}

И я получаю сообщение об ошибке:

E/AndroidRuntime(672): android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application 

ответ

2

onCreateDialog(1).show(); ошибочно. Звонок showDialog(1); вместо.

А также изменить свой Builder, как это:

AlertDialog.Builder builder = new AlertDialog.Builder(MyGame.this); 
+0

Он действительно работал. Большое спасибо. – Nimit

0
private boolean message = false; 

use in the method which u r using... 

if (!message) { 

      if (user.equals("") || user.equals(null)) { 
       ErrorText = "hello"; 

       username.requestFocus(); 
       isError = true; 


if (message) { 
      alertbox.setMessage(ErrorText); 
      alertbox.setNeutralButton("Ok", 
        new DialogInterface.OnClickListener() { 
         public void onClick(DialogInterface arg0, int arg1) { 
         } 
        }); 
      alertbox.show(); 
      isError = false; 
     } 
1

Не используйте onCreateDialog (1) .show();

Использование

showDialog(1) 

вместо

, а также заменить MyGame.this.getApplicationContext() с MyGame.this

+0

большое спасибо – Nimit

Смежные вопросы