2017-02-13 225 views
1

我要求幫助停止刷新,問題是刷新圖標消失在頁面完全加載之前。當頁面加載完成

這裏是提前的代碼和感謝:

final SwipeRefreshLayout swipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.swipelayout); 
     final WebView mWebView = (WebView) findViewById(R.id.activity_main_webview); 
     swipeRefreshLayout.setColorSchemeResources(R.color.refresh,R.color.refresh1,R.color.refresh2); 
     swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { 
      @Override 
      public void onRefresh() { 
       mWebView.reload(); 
       swipeRefreshLayout.setRefreshing(true); 
       (new Handler()).postDelayed(new Runnable() { 
        @Override 
        public void run() { 
         mWebView.stopLoading(); 
         swipeRefreshLayout.setRefreshing(false); 





        } 
       },150000); 

15萬是它繼續出現在屏幕上的時間,我試着刪除它,但以下重寫代碼一塌糊塗up.I上午如果解決方案很簡單,初學者很抱歉。

回答

1

據我理解你的問題,你想通過SwipeRefreshLayout刷新網頁,並顯示加載,直到整個頁面完成了裝載。

對於刪除此

(new Handler()).postDelayed(new Runnable() { 
       @Override 
       public void run() { 
        mWebView.stopLoading(); 
        swipeRefreshLayout.setRefreshing(false); 





       } 
      },150000); 

你是15後,通過秒自己這是沒有必要停止加載頁面。

而是做以下

mWebView.setWebViewClient(new WebViewClient() { 
     public void onPageFinished(WebView view, String url) { 
      swipeRefreshLayout.setRefreshing(false); 
     } 
    }); 

注:設置WebViewClient知道一個事件時,頁面完成它的加載。

希望這適合你!

+0

謝謝你做很多的幫助,但對不起,我是個初學者,我應該怎麼寫//做你的東西在這裏 –

+0

沒什麼,編輯我的答案! –

+0

謝謝soooooo很多它非常完美 –