Android 带有WebView的ViewPager中的ProgressBar

Android 带有WebView的ViewPager中的ProgressBar,android,webview,progress-bar,android-viewpager,Android,Webview,Progress Bar,Android Viewpager,我在ViewPager中有一个webview(支持v4),我想在加载应用程序时放置一个progressbar。这是我到目前为止所做的,但它不起作用。 基本上,我让它指向我的WebVIew布局文件中的progressbar,但它没有加载任何东西 private class MyPagerAdapter extends PagerAdapter { public int getCount() { return 3; }

我在ViewPager中有一个webview(支持v4),我想在加载应用程序时放置一个progressbar。这是我到目前为止所做的,但它不起作用。 基本上,我让它指向我的WebVIew布局文件中的progressbar,但它没有加载任何东西

     private class MyPagerAdapter extends PagerAdapter {
        public int getCount() {
           return 3;
        }
        public Object instantiateItem(View collection, int position) {
            LayoutInflater inflater = (LayoutInflater)     collection.getContext()
               .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
           int resId = 0;
           switch (position) {
        case 0:
            resId = R.layout.web_view;
                        break;
        case 1:
            resId = R.layout.media;
            break;
         case 2:
            resId = R.layout.youtube;
             break;

         }
         View view = inflater.inflate(resId, null);
        ((ViewPager) collection).addView(view, 0);
         web = (WebView) findViewById(R.id.web_view);
         final ProgressBar bar = (ProgressBar)     findViewById(R.id.loading);


         web.loadUrl(url);
         web.getSettings().setJavaScriptEnabled(true);



            web.setWebViewClient(new WebViewClient () {

            @Override
            public void onLoadResource(WebView view,      String url) {
                // TODO Auto-generated method stub
                web.loadUrl("javascript:var element =     document.getElementById('social-tabs'); element.parentElement.removeChild(element);");
            web.loadUrl("javascript:var element = document.getElementById('omc-top-banner'); element.parentElement.removeChild(element);");
            web.loadUrl("javascript:var element = document.getElementById('simplereach-   slide-element'); element.parentElement.removeChild(element);");

                            }

        @Override
        public void onPageStarted(WebView view, String  url,    
                Bitmap favicon) {
            // TODO Auto-generated method stub
            bar.setVisibility(View.VISIBLE);


                            }

        @Override
        public void onPageFinished(WebView view, String url) {
            // TODO Auto-generated method stub
            bar.setVisibility(View.GONE);


            }

           });

         return view;
       }

您需要在webview客户端中实现onProgressChanged方法以适当地更新进度条:

      final Activity MyActivity = this;

      web.setWebViewClient(new WebViewClient () {

            .
            .
            .
            public void onProgressChanged(WebView view, int progress) {

                                MyActivity.setProgress(progress * 100);

                                ProgressBar pb = (ProgressBar) findViewById(R.id.progressBar2);

//pb is equivalent to your "bar" progress bar variable

                                pb.setVisibility(View.VISIBLE);
                                pb.setProgress(progress);
                                if (progress == 100) {
                                    pb.setVisibility(View.GONE);



                                }
            }
        }