在加载WebView之前滑动以刷新隐藏

Fai*_*yaz 1 android webview swipe-gesture

我为我的WebView实现了刷卡刷新,并且工作正常.但是有一个问题我无法解决.问题是我在6秒后刷卡刷新.在WebView的加载完成之前,它不会保留在那里.我想要的是刷新刷新应保持可见,直到页面完全加载.

我的实施

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);
                   }});
Run Code Online (Sandbox Code Playgroud)

Kin*_*ses 5

使用WebView侦听器并在onPageFinished侦听器中完成滑动.

例如,如下所示

mWebView.setWebViewClient(new WebViewClient() {

   public void onPageFinished(WebView view, String url) {
        // do your stuff here

      swipeView.setRefreshing(false);
    }
});
Run Code Online (Sandbox Code Playgroud)

对于您的情况,请更改您的代码,如下所示,

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");

         }});
Run Code Online (Sandbox Code Playgroud)