Java Android alertdialog在我认为应该显示的时候没有显示

Java Android alertdialog在我认为应该显示的时候没有显示,java,android,dialog,Java,Android,Dialog,我正在开发一个android应用程序,我想检查是否有互联网连接,如果没有,会显示一条警告消息,当有互联网连接时,再加载一个特定的url 可以说,无论是显示消息还是检查是否有互联网连接工作。。。但不是单独的 我的意思是我有以下代码: if (!checkConnectivity()) { browser.stopLoading(); LayoutInflater lay

我正在开发一个android应用程序,我想检查是否有互联网连接,如果没有,会显示一条警告消息,当有互联网连接时,再加载一个特定的url

可以说,无论是显示消息还是检查是否有互联网连接工作。。。但不是单独的

我的意思是我有以下代码:

      if (!checkConnectivity())
                {

                    browser.stopLoading();


                    LayoutInflater layoutinflater = LayoutInflater.from(app);
                    final View textEntryView;


                        textEntryView = layoutinflater.inflate(R.layout.exitdialog, null);
                        new AlertDialog.Builder(app)
                            .setView(textEntryView)
                            .setIcon(android.R.drawable.ic_dialog_alert)
                            .setTitle("Exit")                               
                            .setNegativeButton("CANCEL", null)
                            .show();



                        while (!checkConnectivity())
                        {

                        }

                            browser.loadUrl(url);


                }
如果我不使用从while(!checkConnectivity())到browser.loadUrl(url);然后正确显示AlertDialog

如果我不使用from LayoutInflater LayoutInflater=LayoutInflater.from(应用程序);to.show();然后,应用程序会在浏览器上正确加载网页

但是如果我使用整个代码,它看起来像是在显示之前进入while(!checkConnectivity())循环,因为重新启动internet连接时会发生什么情况,即短暂显示警报对话框并加载网页

我觉得这很奇怪,因为据我所知,我没有使用线程,这些线程可能导致一个线程可以在另一个线程之前执行,而这并不是说这件事不能实现编程中最基本的事情之一,我的意思是,如果一条指令在另一条之前,那么之前的那条应该在逻辑上执行(螺纹除外)


希望有人对此有所了解,并能帮助我。

您的
,而
循环会阻塞UI线程,并且对话框没有机会显示

繁忙的循环投票也是一个巨大的危险信号

考虑等待,并使用可取消对话框(而不是警报对话框)禁用其他UI,直到收到事件