1. 程式人生 > >WebView 載入資料時顯示進度條,載入完後再把進度條取消並顯示內容

WebView 載入資料時顯示進度條,載入完後再把進度條取消並顯示內容

轉載地址:http://blog.sina.com.cn/s/blog_7a66361301011a46.html

webview 載入資料時顯示進度條有兩種.

第一種方法
這個是載入資料時顯示進度條
super.onCreate(savedInstanceState);
this.getWindow().requestFeature(Window.FEATURE_PROGRESS); 
setContentView(R.layout.main);


cWebView = (WebView) findViewById(R.id.Conditions);
   cWebView.getSettings().setJavaScriptEnabled(true);
   cWebView.getSettings().setSupportZoom(true);       
   cWebView.getSettings().setBuiltInZoomControls(true);
   
url = "http://site.baidu.com/";
cWebView.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int progress) {
// Activity和Webview根據載入程度決定進度條的進度大小
// 當載入到100%的時候 進度條自動消失
setTitle("Loading...");
setProgress(progress * 100);
}
});
cWebView.loadUrl(url);


第二種方法
這個是載入資料時顯示ProgressDialog


class MyWebViewClient extends WebViewClient{


@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}


@Override
public void onPageFinished(WebView view, String url) {
if(progressBar.isShowing()){
progressBar.dismiss();
}
}


@Override
public void onReceivedError(WebView view, int errorCode,
String description, String failingUrl) {
Toast.makeText(EnterListenter.this, "網頁加載出錯!", Toast.LENGTH_LONG);
alertDialog.setTitle("ERROR");
alertDialog.setMessage(description);
alertDialog.setButton("OK", new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
});
alertDialog.show();
}
}
protected void initWebView(){
//設計進度條
progressBar = ProgressDialog.show(EnterListenter.this, null, "正在進入網頁,請稍後…");
//獲得WebView元件
cWebView = (WebView) findViewById(R.id.Conditions);
   cWebView.getSettings().setJavaScriptEnabled(true);
   cWebView.getSettings().setSupportZoom(true);       
   cWebView.getSettings().setBuiltInZoomControls(true);
   url = "http://site.baidu.com/";
   cWebView.loadUrl(url);
alertDialog = new AlertDialog.Builder(this).create();
//設定檢視客戶端
cWebView.setWebViewClient(new MyWebViewClient());
}

其他參考地址:http://www.cnblogs.com/over140/archive/2013/03/07/2947721.html