如何使用andengine创建警报对话框

时间:2013-06-18 12:28:50

标签: java android andengine alert alertdialog

我正在使用andengine开发游戏 现在我需要的是创建一个警告对话框 我正在使用这个

 case MENU_OPT:
        mEngine.runOnUpdateThread(new Runnable() {
         @Override
         public void run() {


             AlertDialog.Builder alert = new AlertDialog.Builder(GameActivity.this);
             alert.setTitle("");
             alert.setMessage("");
             alert.setPositiveButton("OK", new OnClickListener() {
                     @Override
                     public void onClick(DialogInterface arg0, int arg1) {

                     }
             });

             alert.show();
         }
        });
         break;

但是收到错误 java.lang.RuntimeException:无法在未调用Looper.prepare()的线程内创建处理程序

代码有什么问题,或者我可以将alertdialog构建器与andengine一起使用。

3 个答案:

答案 0 :(得分:3)

只需创建Object Of Main Activity类并使用Object

activity.runOnUIThread(new Runnable() {
     @Override
     public void run() {


         AlertDialog.Builder alert = new AlertDialog.Builder(GameActivity.this);
         alert.setTitle("");
         alert.setMessage("");
         alert.setPositiveButton("OK", new OnClickListener() {
                 @Override
                 public void onClick(DialogInterface arg0, int arg1) {

                 }
         });

         alert.show();
     }
    });

答案 1 :(得分:2)

alert.show();不是用andengine显示警报的方式。

1.您可以使用Activity.showDialog()进行提醒。

2.您可以使用AlertDialog.Builder之类的:

AlertDialog.Builder builder = new AlertDialog.Builder(this);

答案 2 :(得分:0)

您已完成所有操作,只需在代码中进行一项更改。

 mEngine.runOnUIThread(new Runnable() {
     @Override
     public void run() {


         AlertDialog.Builder alert = new AlertDialog.Builder(GameActivity.this);
         alert.setTitle("");
         alert.setMessage("");
         alert.setPositiveButton("OK", new OnClickListener() {
                 @Override
                 public void onClick(DialogInterface arg0, int arg1) {

                 }
         });

         alert.show();
     }
    });

您必须使用UI线程才能显示对话框而不是更新线程,因为它们都可以独立使用。