我有使用進度條對話框的Webview應用程序。它工作正常,但問題是,我顯示的URL是用戶必須輸入一些信息的基本形式。如何在WebView中激活進度條一次
每當用戶點擊一個按鈕來執行一些操作時,進度條就會加載。此應用中的進度條和網頁中的加載消息相互重疊。你可以看到他們在第二頁和第三頁同時出現。
如何讓我的應用程序中的進度條僅運行一次,這將在第一頁加載時進行。這裏是我的活動:
public class Webform extends Activity {
private WebView webview;
private ProgressDialog progressDialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.webform);
webview = (WebView) findViewById(R.id.webview);
final Activity activity = this;
webview.loadUrl("http://www.ccsuhealth.mobi");
webview.getSettings().setJavaScriptEnabled(true);
webview.setWebViewClient(new WebViewClient() {
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
public void onLoadResource (WebView view, String url) {
if (progressDialog == null) {
progressDialog = new ProgressDialog(activity);
progressDialog.setMessage("Loading... ");
progressDialog.show();
}
}
public void onPageFinished(WebView view, String url) {
if (progressDialog.isShowing()) {
progressDialog.dismiss();
progressDialog = null;
progressDialog.cancel();
}
}
public void onReceivedError(WebView view, int errorCode,
String description, String failingUrl) {
Toast.makeText(Webform.this, "Your Internet Connection May not be active Or " + description , Toast.LENGTH_LONG).show();
}
});
}
西奧,我沒有得到第2步中我已經設置mywebview實施webchromeClient.onprogresschange,但在這之後我迷路了。 – Yahyaotaif 2011-12-31 01:53:43
對於第2步,請使用:webView.setWebChromeClient(myWebChromeClient),其中myWebChromeClient是您的實現。或者,您可以使用webView.setWebChromeClient(新的WebChromeClient(){@Override ...})執行此操作。 – Theo 2011-12-31 03:13:53