我正在开发一个Android应用程序,我想检查是否有互联网连接,如果不是这种情况显示警告消息,并且当互联网连接再次加载某个URL。Android alertdialog没有显示,当我认为它应该
可以说,既显示消息,并检查有互联网连接工作......但没有单独。
我的意思是我有以下代码:(!checkConnectivity())
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);
}
如果我不从,而使用browser.loadUrl(URL);那么AlertDialog会正确显示。
如果我不使用LayoutInflater layoutinflater = LayoutInflater.from(app);以显示();那么应用程序会在浏览器上正确加载网页。
但是,如果我使用整个代码,它看起来像它进入while(!checkConnectivity())循环之前,它显示为互联网连接重新稳定时发生的事情是警报对话框简要显示,网络页面已加载。
我觉得这很奇怪,因为我没有使用,据我所知,可能会导致一个可能会在另一个之前执行的线程,并且这不是这种情况不符合编程中最基本的东西,我的意思是如果一个指令在另一个指令之前,那么以前的指令应该被大量逻辑地执行(线程除外)。
希望有人对此有一个想法,可以帮助我。