[英]WindowManager$BadTokenException when showing AlertDialog on Android 7
[英]Android alertdialog not showing when I think it should
我正在开发一个Android应用程序,我想检查是否存在互联网连接,如果不是这种情况,则显示警告消息,并在有互联网连接时再次加载特定的网址。
可以说,既显示消息又检查互联网连接是否正常……但是没有单独进行。
我的意思是我有以下代码:
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会正确显示。
如果我不使用LayoutInflater,则layoutinflater = LayoutInflater.from(app); 显示(); 然后该应用会在浏览器上正确加载网页。
但是,如果我使用整个代码,则它看起来像进入了while(!checkConnectivity())循环,然后再显示,因为重新建立Internet连接时会短暂显示警报对话框并加载网页。
据我所知,我发现这很奇怪,因为我没有使用可能导致一个线程可以在另一个线程之前执行的线程,而这不是这种事情不能满足最基本的事情之一的情况在编程中,我的意思是,如果一条指令在另一条指令之前,则该指令之前的指令应在逻辑上进行大量执行(线程除外)。
希望有人对此有想法,可以为我提供帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.