我正在使用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一起使用。
答案 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线程才能显示对话框而不是更新线程,因为它们都可以独立使用。