如何停止Android webView的下拉刷新加载进度条?

3
注意:这个问题已经在这里提过,但没有得到答案,所以我决定用我的代码重新发布它。
我想让一个webView在用户从顶部向下拉屏幕时刷新当前页面,这个已经可以工作了。但问题是,当页面加载完成后,加载进度条仍然不停止。
以下是MainActivity.java的内容。
// Swipe to Refresh
        SwipeRefreshLayout swipeLayout = (SwipeRefreshLayout)this.findViewById(R.id.swipeToRefresh);
        swipeLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
            @Override
            public void onRefresh() {
                myWebView.reload(); // refreshes the WebView
            }
        });
    }
@Override
        public void onPageFinished(WebView view, String url) {
            super.onPageFinished(view, url);
            progressBar.setVisibility(View.GONE);
            if (null != swipeLayout && swipeLayout.isRefreshing()) {
                swipeLayout.setRefreshing(false);
            }
        }

我已经更新了代码,但它仍在加载中。


尝试这个答案 https://dev59.com/PF4b5IYBdhLWcg3w5VE9#28582653 - Omkar
3个回答

2

这已经解决了问题:

        final SwipeRefreshLayout swipeLayout = (SwipeRefreshLayout)this.findViewById(R.id.swipeToRefresh);
        swipeLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
            @Override
            public void onRefresh() {
                myWebView.reload(); // refreshes the WebView

                if (null != swipeLayout) {
                    swipeLayout.setRefreshing(false);
                }
            }
        });

1

更准确地说,你尝试编写代码

if (swipeLayout.isRefreshing()) {
    swipeLayout.setRefreshing(false);
}

没有 if (null != swipeLayout && swipeLayout.isRefreshing()) 的话,应用程序会崩溃。 - Maroof Mandal

0
在你的 seOnRefreshListner 中,将 progressBar 的可见性设置为 gone,并在网页视图加载后停止刷新 swipeLayout。
  swipeLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {  
  @Override public void onRefresh() { // Insert your code here
      ProgressBar. SetVisibility(GONE); 
      if(null != swipeLayout) {
           swipeLayout.setRefreshing(false);
      }          
      myWebView.reload(); // refreshes the WebView 
  } });

如果 null != swipeLayout,那么 swipeLayout.setRefreshing(false) 就不起作用。 - Maroof Mandal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接