滑动刷新隐藏加载WebView之前



我实现了滑动刷新我的WebView和它的工作良好。但是有一个问题我解决不了。问题是我的滑动刷新隐藏6秒后。直到WebView的加载完成,它才会留在那里。我想要的是滑动刷新应该保持可见,直到页面完全加载。

<<p> 我的实现/strong>
swipeView = (SwipeRefreshLayout) view.findViewById(R.id.swipe);
myWebView = (WebView) view.findViewById(R.id.webview);
myWebView.loadUrl("http://m.facebook.com");
swipeView.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener()    
        {
        @Override
         public void onRefresh() 
         {
                     swipeView.setRefreshing(true);
                   ( new Handler()).postDelayed(new Runnable() 
                           {
                             @Override
                             public void run() 
                               {
                                swipeView.setRefreshing(false);
                                myWebView.loadUrl("http://m.facebook.com");
                               }
                         }, 6000);
                   }});

使用WebView侦听器并在onPageFinished侦听器中完成您的滑动。

例如

mWebView.setWebViewClient(new WebViewClient() {
   public void onPageFinished(WebView view, String url) {
        // do your stuff here
      swipeView.setRefreshing(false);
    }
});

根据您的情况,像下面这样修改代码,

swipeView = (SwipeRefreshLayout) view.findViewById(R.id.swipe);
myWebView = (WebView) view.findViewById(R.id.webview);
mWebView.setWebViewClient(new WebViewClient() {
   public void onPageFinished(WebView view, String url) {
        // do your stuff here
      swipeView.setRefreshing(false);
    }
});
swipeView.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener()    
        {
        @Override
         public void onRefresh() 
         {
               myWebView.loadUrl("http://m.facebook.com");
         }});

最新更新