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