如何从创建它的函数外部解除alertDialog?
如果显示警报,那么我希望在应用关闭然后恢复时将其解除。但是,我不确定如何从另一个侦听器(onResume)获取对话框。
webView.setWebChromeClient(new WebChromeClient() {
...
public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
// ... show alert on error
new AlertDialog.Builder(getContext())
.setMessage(alertMessage)
.setTitle(alertTitle)
.setPositiveButton("OK",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
})
.show();
}
public void onResume(){
super.onResume();
// Want to dismiss alert dialog here
}
}
答案 0 :(得分:1)
将AlertDialog保存在私有变量中。所以你以后可以使用它并调用dialog.dismiss()。
private AlertDialog dialog;
在你的函数onReceivedError:
dialog = new AlertDialog.Builder.....
答案 1 :(得分:0)
全局声明AlertDialog对象
private AlertDialog dialog;
并在此功能中使用您的代码
public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
// ... show alert on error
dialog = new AlertDialog.Builder(getContext())
.setMessage(alertMessage)
.setTitle(alertTitle)
.setPositiveButton("OK",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
})
.show();}
在函数外部,您可以使用对话框
对象将其关闭dialog.dismiss();