问题描述
- 在WebView中加载HTML页面时怎么显示进度对话框
- 在程序中使用webview视图显示html页面。我想在页面加载时显示一个进度对话框。但是我加载页面后,没有显示进度对话框。我使用AsyncTask,进度对话框还是没有显示。我使用的以下代码:
class DownloadAysnc extends AsyncTask<String String Void> { ProgressDialog progressDialog; @Override protected void onPreExecute() { super.onPreExecute(); progressDialog = ProgressDialog.show(OverView.this"Please Wait ...""); } @Override protected Void doInBackground(String... arg0) { webView.loadUrl(""http://marico.com/html/investor/overview.php""); return null; } @Override protected void onPostExecute(Void result){ super.onPostExecute(result); progressDialog.dismiss(); } }
如果我使用google文档显示web页面,html tag能显示,但是html页面不显示。下面的代码
String url = ""http://google.co.in/"";String googleDocsUrl = ""http://docs.google.com/viewer?url=""+url;Intent intent = new Intent(Intent.ACTION_VIEW);intent.setDataAndType(Uri.parse(googleDocsUrl )text/html"");startActivity(intent);this.myWebView.loadUrl(googleDocsUrl);
请求大家的帮忙。
解决方案
webView.setWebViewClient(new WebViewClient() { ProgressDialog prDialog; @Override public void onPageStarted(WebView view String url Bitmap favicon) { prDialog = ProgressDialog.show(Activity.this nullloading please wait...""); super.onPageStarted(view url favicon); } @Override public void onPageFinished(WebView view String url) { prDialog.dismiss(); super.onPageFinished(view url); }});webView.loadUrl(url);
解决方案二:
放个进度条,使用下边的代码
v.setWebChromeClient(new WebChromeClient(){ @Override public void onProgressChanged(WebView view int newProgress) { WebView v=(WebView)findViewById(R.id.wv); //Toast.makeText(mContext v.getUrl() + newProgress +""加载中..."" Toast.LENGTH_SHORT).show(); ProgressBar s=(ProgressBar)findViewById(R.id.progressBar1); s.setMax(100); s.setProgress(newProgress); if(newProgress==100){ v.setVisibility(0); //Toast.makeText(mContext加载结束..."" Toast.LENGTH_SHORT).show(); }else{ v.setVisibility(8); //Toast.makeText(mContext加载中..."" Toast.LENGTH_SHORT).show(); } } });
解决方案三:
以下方法可以实现:
progDailog = ProgressDialog.show(loginActProcess ""please wait....""truetrue);new Thread ( new Runnable(){ public void run() { // 把你自己的代码放在这儿 }}).start(); Handler progressHandler = new Handler() { public void handleMessage(Message msg1) { progDailog.dismiss(); } }
解决方案四:
不好!界面没加载完就消失啦!
时间: 2024-12-30 19:09:37