Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/186.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
Android 单击“是”按钮时警报的关闭程度_Android_Alert_Android Alertdialog - Fatal编程技术网

Android 单击“是”按钮时警报的关闭程度

Android 单击“是”按钮时警报的关闭程度,android,alert,android-alertdialog,Android,Alert,Android Alertdialog,单击“是”按钮时,我正试图关闭警报。按钮界面在大约10秒内执行一个进程。我想在单击按钮时关闭警报对话框,因为只有在SaveRoute方法完成时警报才会关闭。我的代码: imageRouteDetSave.setOnClickListener(new OnClickListener() { public void onClick(View v) { //** Save the current route new Thread(

单击“是”按钮时,我正试图关闭警报。按钮界面在大约10秒内执行一个进程。我想在单击按钮时关闭警报对话框,因为只有在SaveRoute方法完成时警报才会关闭。我的代码:

imageRouteDetSave.setOnClickListener(new OnClickListener() {
      public void onClick(View v) {

        //** Save the current route             
        new Thread(new Runnable() {
                public void run() {

                         MyActivity.this.runOnUiThread(new Runnable() {
                                public void run() {
                                    alertDialog = new AlertDialog.Builder(MyActivity.this).create();
                                    alertDialog.setTitle("Saving...");
                                    alertDialog.setMessage("......");
                                    alertDialog.setButton("Yes", new DialogInterface.OnClickListener() {
                                       public void onClick(DialogInterface dialog, int which) {


                                          alertDialog.dismiss(); //-- No close the dialog
                                          SaveRoute();//-- Big proccess

                                       }
                                    });
而不是alertDialog.discover;尝试使用dialog.discover

此外,“大进程”最好不要在UI线程上运行,因为它们会阻塞UI

AsyncTask示例文档:

而不是alertDialog.Dislose;尝试使用dialog.discover

此外,“大进程”最好不要在UI线程上运行,因为它们会阻塞UI


AsyncTask示例文档:

您的大进程正在UI线程上运行,这非常糟糕。例如,使用异步任务。同时显示进度视图。

您的大进程正在UI线程上运行,这非常糟糕。例如,使用异步任务。同时显示进度视图。

您建议我在新线程上调用“大进程”吗?在4+设备上,一些长任务网络连接/磁盘IO被操作系统阻止,并强制关闭您的应用程序!因此建议使用AsyncTask:或ADS您建议我在新线程上调用“大进程”吗?在4+设备上,一些长任务网络连接/磁盘IO被操作系统阻止,并强制关闭您的应用程序!因此,建议使用AsyncTask:或theads