【问题标题】:webview android with progress dialog带有进度对话框的 webview android
【发布时间】:2012-02-22 21:45:06
【问题描述】:

我正在尝试为带有进度条的 android 制作 webview 应用程序,我从这里尝试了很多示例,但没有一个有效.. 我的问题是在框架页面或带有 facebook 喜欢或评论插件的页面上,progressdialog 永远不会停止..这是我的代码..请测试它并告诉我出了什么问题。

private WebView webview;
private ProgressDialog progressDialog;
boolean loadingFinished = true;
boolean redirect = false;
int nr = 0;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    webview = (WebView) findViewById(R.string.webview);

    final Activity activity = this;

    webview.getSettings().setJavaScriptEnabled(true);

    webview.setWebViewClient(new WebViewClient() {
        public boolean shouldOverrideUrlLoading(WebView view, String url) {

            if (!loadingFinished) {
                redirect = true;
             }

            loadingFinished = false;
            webview.loadUrl(url);

            return true;

        }

        public void onLoadResource(WebView view, String url) {
            if (progressDialog == null) {
                progressDialog = new ProgressDialog(activity);
                progressDialog.setTitle("PitziWorld");
                progressDialog.setMessage(progressDialog.toString());
                progressDialog.setCancelable(isFinishing());
                progressDialog.show();

            }
            loadingFinished = false;
        }
        public void onPageFinished(WebView view, String url) {

            if(!redirect){
                loadingFinished = true;
             }

             if(loadingFinished && !redirect){
                 if (progressDialog.isShowing() || progressDialog!=null) {
                     progressDialog.hide();
                     progressDialog = null;
                 }
             } else{
                redirect = false; 
             }




        }
    }); 
    webview.loadUrl("http://www.pitziworld.ro");

}
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        WebView webView = (WebView) findViewById(R.string.webview);
        //Verifica daca tasta apasata a fost back si daca exista istoric
        if ((keyCode == KeyEvent.KEYCODE_BACK) && webView.canGoBack()) {
            webView.goBack();
            return true;
        }
        // Daca nu a fost tasta back sau nu este istoric, returnam valoare buton

        `

【问题讨论】:

    标签: java android webview progressdialog


    【解决方案1】:

    这就是你要找的东西!

             public void onPageStarted(WebView view, String url, Bitmap favicon) {
               mProgress.show();
           }
    

    在每个页面加载进度条 就是这个!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-27
      • 1970-01-01
      • 1970-01-01
      • 2017-08-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多