Android 进度对话框未显示在webview中
我的android应用程序中有一个网络视图,它从本地文件夹呈现html页面,现在我想在从一个html页面导航到另一个html页面时显示进度对话框,但我使用的进度对话框没有显示。这是我的代码片段:Android 进度对话框未显示在webview中,android,webview,progressdialog,Android,Webview,Progressdialog,我的android应用程序中有一个网络视图,它从本地文件夹呈现html页面,现在我想在从一个html页面导航到另一个html页面时显示进度对话框,但我使用的进度对话框没有显示。这是我的代码片段: @JavascriptInterface public void save(String respString, boolean ifEndNode) throws JSONException { ProgressDialog progDialog = null;
@JavascriptInterface
public void save(String respString, boolean ifEndNode) throws JSONException {
ProgressDialog progDialog = null;
try {
if(ifEndNode){
//start loader
progDialog = new ProgressDialog(webView.getContext());
progDialog.setMessage("Saving survey, Please DON'T close the Application!! ");
progDialog.setCanceledOnTouchOutside(false);
progDialog.setCancelable(false);
progDialog.show();
}
//some code here
//...
}
catch (Exception e)
{
Logger.e(context,"exception", "jsonObjectexception");
}
finally {
if(progDialog != null && progDialog.isShowing())
progDialog.dismiss();
}
有人能提出问题是什么吗?您可以通过这种方式使用
ProgressDialog
的WebView
。这是一种很好且简单的方法
private WebView webView;
ProgressDialog prDialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.page_news);
setSupportActionBar((Toolbar) findViewById(R.id.toolbar));
webView = (WebView) findViewById(R.id.wv_news);
webView.setWebViewClient(new MyWebViewClient());
String url = "http://google.com/";
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
webView.loadUrl(url);
}
private class MyWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
prDialog = new ProgressDialog(NewsActivity.this);
prDialog.setMessage("Please wait ...");
prDialog.show();
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
if(prDialog!=null){
prDialog.dismiss();
}
}
}
我已经在使用它来加载第一个页面,但现在我想在html页面之间导航时显示进度条,这些页面由于在与它们相关的javascript代码中路由而发生变化。并不是每次页面更改时都开始使用webview