页面加载完成后停止刷新

时间:2017-02-13 23:12:31

标签: android jquery swiperefreshlayout

我正在寻求帮助,问题是在页面完全加载之前刷新图标会消失。

以下是代码并提前致谢:

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

150000是它不断出现在屏幕上的时间,我尝试删除它,但是下面的覆盖代码搞砸了。我是初学者,很抱歉,如果解决方案很简单。

1 个答案:

答案 0 :(得分:2)

据我了解您的问题,您希望通过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以便在页面加载时知道某个事件。

希望这适合你!