Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/209.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
libgdx中的Android AlertDialog对单击没有反应_Android_Libgdx_Android Alertdialog - Fatal编程技术网

libgdx中的Android AlertDialog对单击没有反应

libgdx中的Android AlertDialog对单击没有反应,android,libgdx,android-alertdialog,Android,Libgdx,Android Alertdialog,我试图在扩展AndroidApplication的类(扩展活动的libgdx类)中显示警报对话框。代码如下所示 import android.app.AlertDialog; public class Solitaire extends AndroidApplication{ public void alertBoxWonMessage() { AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(Solit

我试图在扩展
AndroidApplication
的类(扩展
活动的libgdx类)中显示
警报对话框
。代码如下所示

import android.app.AlertDialog;

public class Solitaire extends AndroidApplication{

public void alertBoxWonMessage() {
    AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(Solitaire.this);

    // set title
    alertDialogBuilder.setTitle(R.string.won_title);
    // set message and positive button
    alertDialogBuilder
            .setMessage(Html.fromHtml("Total time: " + timeForAlert(time) + "<br>" + "Total Points: " + pointsView.getText().toString()))
            .setCancelable(false)
            .setPositiveButton("OK", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {
                    // if this button is clicked, close
                    // current activity
                    Log.d("Hi", "hi");
                    dialog.dismiss();
                    exit();
                    Solitaire.this.finish();
                }
            });

    // create alert dialog
    AlertDialog alertDialog = alertDialogBuilder.create();

    // show it
    alertDialog.show();
}
}
我认为这不是问题,因为我发现一些人有同样的问题,他们被告知,这不是问题,但可能是


所以,有什么想法吗?

您为Android平台创建的对话框可能是通过将其与接口一起使用。为什么不为libgdx使用跨平台对话框创建API呢


试试看,这是对本机对话框的开源跨平台(Android、iOS、iOS MOE、桌面)支持。集成非常简单,只需将依赖项放入build.gradle、刷新和使用即可

您正在为Android平台创建对话框,可能是因为您正在将其与接口一起使用。为什么不为libgdx使用跨平台对话框创建API呢


试试看,这是对本机对话框的开源跨平台(Android、iOS、iOS MOE、桌面)支持。集成非常简单,只需将依赖项放入build.gradle、刷新和使用即可

显然,问题在于调用
alertBoxWonMessage
runOnUiThread
被多次调用。确保只调用一次后,一切正常


感谢大家的帮助。

显然,问题在于调用
alertBoxWonMessage
runOnUiThread
被多次调用。确保只调用一次后,一切正常


谢谢大家的帮助。

如何以及从何处调用alertBoxWonMessage()方法?请尝试将此方法中的所有代码包装在一个runnable中,并传递给
runOnUiThread()
。(只是一个猜测)@Tenfour04:alreadyI添加了我得到的这些奇怪的控制台打印,但在一开始认为并不重要。请参见最后的原始问题。@Isabella您正在使用emulator吗?您是否尝试过在真实设备上运行?如何以及从何处调用alertBoxWonMessage()方法?尝试将此方法中的所有代码包装在一个可运行文件中,并传递给
runOnUiThread()
。(只是一个猜测)@Tenfour04:alreadyI添加了我得到的这些奇怪的控制台打印,但在一开始认为并不重要。请参见最后的原始问题。@Isabella您正在使用emulator吗?你有没有试过,在真正的设备上运行?谢谢,但不幸的是,它做了同样的事情(显示,但不响应点击)。关于您的评论:它是在RunUnuithRead中调用的。@Isabella请让我看看您的alertBoxWonMessage()方法的调用部分。谢谢,但不幸的是,它做了同样的事情(显示,但不响应单击)。关于您的评论:它是在runOnUiThread中调用的。@Isabella请让我看看您的alertBoxWonMessage()方法的调用部分。
E/EGL_emulation: tid 5206: eglSurfaceAttrib(1174): error 0x3009 (EGL_BAD_MATCH)
W/OpenGLRenderer: Failed to set EGL_SWAP_BEHAVIOR on surface 0x9488e800, error=EGL_BAD_MATCH